//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言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, 整数型
