//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言读写锁1.2模块源码
系统结构:开始读,结束读,开始写,结束写,InitializeCriticalSection,DeleteCriticalSection,EnterCriticalSection,LeaveCriticalSection,InterlockedIncrement_ByRef,InterlockedDecrement_ByRef,InitializeCriticalSectionAndSpinCount,
======读写锁
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 开始读
| |
| |------ 结束读
| |
| |------ 开始写
| |
| |------ 结束写
| |
| |
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======调用的Dll
| |
| |---[dll]------ InitializeCriticalSection
| |
| |---[dll]------ DeleteCriticalSection
| |
| |---[dll]------ EnterCriticalSection
| |
| |---[dll]------ LeaveCriticalSection
| |
| |---[dll]------ InterlockedIncrement_ByRef
| |
| |---[dll]------ InterlockedDecrement_ByRef
| |
| |---[dll]------ InitializeCriticalSectionAndSpinCount
调用的DLL命令:
.DLL命令 InitializeCriticalSection, , "kernel32.dll", "InitializeCriticalSection", , 初始化临界段对象
.参数 lpCriticalSection, CRITICAL_SECTION
.DLL命令 DeleteCriticalSection, , "kernel32.dll", "DeleteCriticalSection", , 删除临界部分
.参数 lpCriticalSection, CRITICAL_SECTION
.DLL命令 EnterCriticalSection, , "kernel32.dll", "EnterCriticalSection", , 加入临界部分
.参数 lpCriticalSection, CRITICAL_SECTION
.DLL命令 LeaveCriticalSection, , "kernel32.dll", "LeaveCriticalSection", , 保留前一个输入临界段
.参数 lpCriticalSection, CRITICAL_SECTION
.DLL命令 InterlockedIncrement_ByRef, 整数型, "kernel32.dll", "InterlockedIncrement", , 增加LONG
.参数 lpAddend, 整数型, 传址
.DLL命令 InterlockedDecrement_ByRef, 整数型, "kernel32.dll", "InterlockedDecrement", , 原子减
.参数 lpAddend, 整数型, 传址
.DLL命令 InitializeCriticalSectionAndSpinCount, 整数型, "kernel32.dll", "InitializeCriticalSectionAndSpinCount"
.参数 lpCriticalSection, CRITICAL_SECTION
.参数 dwSpinCount, 整数型
