易语言多线程支持模块源码
系统结构:等待线程,启动线程,关闭线程句柄,强制结束线程,创建进入许可证,删除进入许可证,进入许可区,退出许可区,CreateThread,WaitForSingleObject,CloseHandle,TerminateThread,InitializeCriticalSectionToInt,DeleteCriticalSectionByInt,EnterCriticalSectionByInt,LeaveCriticalSectionByInt,VirtualAlloc,VirtualFree,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 等待线程
| |
| |------ 启动线程
| |
| |------ 关闭线程句柄
| |
| |------ 强制结束线程
| |
| |------ 创建进入许可证
| |
| |------ 删除进入许可证
| |
| |------ 进入许可区
| |
| |------ 退出许可区
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ TerminateThread
| |
| |---[dll]------ InitializeCriticalSectionToInt
| |
| |---[dll]------ DeleteCriticalSectionByInt
| |
| |---[dll]------ EnterCriticalSectionByInt
| |
| |---[dll]------ LeaveCriticalSectionByInt
| |
| |---[dll]------ VirtualAlloc
| |
| |---[dll]------ VirtualFree
调用的DLL命令:
.DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
.参数 lpThreadAttributes, 整数型, , 默认SECURITY_ATTRIBUTES结构
.参数 dwStackSize, 整数型, , 设置初始栈的大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。任何情况下,Windows根据需要动态延长堆栈的大小
.参数 lpStartAddress, 子程序指针, , 指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明
.参数 lpParameter, 整数型, , 向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL
.参数 dwCreationFlags, 整数型, , 线程标志,0立即激活
.参数 lpThreadId, 整数型, 传址, 保存新线程的id
.DLL命令 WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject", , 监测一个对象
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 hObject, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 TerminateThread, 整数型, "kernel32", "TerminateThread", , 中止线索
.参数 hThread, 整数型
.参数 dwExitCode, 整数型
.DLL命令 InitializeCriticalSectionToInt, , "kernel32", "InitializeCriticalSection", , 初始化临界段对象
.参数 lpCriticalSection, 整数型
.DLL命令 DeleteCriticalSectionByInt, , "kernel32", "DeleteCriticalSection", , 删除临界部分
.参数 lpCriticalSection, 整数型
.DLL命令 EnterCriticalSectionByInt, , "kernel32", "EnterCriticalSection", , 加入临界部分
.参数 lpCriticalSection, 整数型
.DLL命令 LeaveCriticalSectionByInt, , "kernel32", "LeaveCriticalSection", , 保留前一个输入临界段
.参数 lpCriticalSection, 整数型
.DLL命令 VirtualAlloc, 整数型, "kernel32", "VirtualAlloc", , 保留虚拟页
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 VirtualFree, 整数型, "kernel32", "VirtualFree", , 释放虚拟页
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 dwFreeType, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。