易语言IOCP线程池模块源码
系统结构:读整数,写整数,Call,工作线程,线程池_创建,线程池_销毁,线程池_发送信息,线程池_投递信息,CreateIoCompletionPort,GetQueuedCompletionStatus,PostQueuedCompletionStatus,CreateThread,CloseHandle,GetExitCodeThread,HeapCreate,HeapAlloc,HeapFree,HeapDestroy,InitializeCriticalSection,DeleteCriticalSection,EnterCriticalSection,LeaveCriticalSection,CreateEvent,WaitForSingleObject,SetEvent,Sleep,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======IOCP线程池
| |
| |------ 读整数
| |
| |------ 写整数
| |
| |------ Call
| |
| |------ 工作线程
| |
| |------ 线程池_创建
| |
| |------ 线程池_销毁
| |
| |------ 线程池_发送信息
| |
| |------ 线程池_投递信息
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateIoCompletionPort
| |
| |---[dll]------ GetQueuedCompletionStatus
| |
| |---[dll]------ PostQueuedCompletionStatus
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ GetExitCodeThread
| |
| |---[dll]------ HeapCreate
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ HeapFree
| |
| |---[dll]------ HeapDestroy
| |
| |---[dll]------ InitializeCriticalSection
| |
| |---[dll]------ DeleteCriticalSection
| |
| |---[dll]------ EnterCriticalSection
| |
| |---[dll]------ LeaveCriticalSection
| |
| |---[dll]------ CreateEvent
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ SetEvent
| |
| |---[dll]------ Sleep
调用的DLL命令:
.DLL命令 CreateIoCompletionPort, 整数型, "kernel32.dll", "CreateIoCompletionPort"
.参数 Handle, 整数型
.参数 ExistingCompletionPort, 整数型
.参数 CompletionKey, 整数型
.参数 NumberOfConcurrentThreads, 整数型
.DLL命令 GetQueuedCompletionStatus, 整数型, "kernel32.dll", "GetQueuedCompletionStatus"
.参数 CompletionPort, 整数型
.参数 lpNumberOfBytesTransferred, 整数型, 传址
.参数 lpCompletionKey, 整数型, 传址
.参数 lpOverlapped, 整数型, 传址
.参数 dwMilliseconds, 整数型
.DLL命令 PostQueuedCompletionStatus, 整数型, "kernel32.dll", "PostQueuedCompletionStatus"
.参数 CompletionPort, 整数型
.参数 dwNumberOfBytesTransferred, 整数型
.参数 dwCompletionKey, 整数型
.参数 lpOverlapped, 整数型
.DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 GetExitCodeThread, 整数型, "kernel32.dll", "GetExitCodeThread"
.参数 hThread, 整数型
.参数 lpExitCode, 整数型, 传址
.DLL命令 HeapCreate, 整数型, "kernel32.dll", "HeapCreate"
.参数 flOptions, 整数型
.参数 dwInitialSize, 整数型
.参数 dwMaximumSize, 整数型
.DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc"
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 HeapFree, 逻辑型, "kernel32.dll", "HeapFree"
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 lpMem, 整数型
.DLL命令 HeapDestroy, 逻辑型, "kernel32.dll", "HeapDestroy"
.参数 hHeap, 整数型
.DLL命令 InitializeCriticalSection, , "kernel32.dll", "InitializeCriticalSection", , 创建许可证
.参数 lpCriticalSection, 整数型
.DLL命令 DeleteCriticalSection, , "kernel32.dll", "DeleteCriticalSection", , 删除许可证
.参数 lpCriticalSection, 整数型
.DLL命令 EnterCriticalSection, , "kernel32.dll", "EnterCriticalSection", , 进入许可区
.参数 lpCriticalSection, 整数型
.DLL命令 LeaveCriticalSection, , "kernel32.dll", "LeaveCriticalSection", , 退出许可区
.参数 lpCriticalSection, 整数型
.DLL命令 CreateEvent, 整数型, "kernel32.dll", "CreateEventW"
.参数 lpEventAttributes, 整数型
.参数 bManualReset, 整数型
.参数 bInitialState, 整数型
.参数 lpName, 整数型
.DLL命令 WaitForSingleObject, 整数型, "kernel32.dll", "WaitForSingleObject"
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 SetEvent, 整数型, "kernel32.dll", "SetEvent"
.参数 hEvent, 整数型
.DLL命令 Sleep, , "kernel32.dll", "Sleep"
.参数 dwMilliseconds, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。