1、多线程_设置结束标志
2、多线程_结束
3、_内部结束
4、WaitForSingleObject
5、ReleaseRef
教程源码:
.版本 2 .支持库 EThread .子程序 多线程_设置结束标志, , , 在多线程全部结束时,加快结束的速度 .参数 主序号, 整数型 ' 判断主序号 .如果真 (主序号 ≤ 0 或 主序号 ≥ MaxHwnd) 返回 () .如果真结束 ' 判断句柄 .如果真 (线程信息 [主序号].线程句柄 = 0) 返回 () .如果真结束 ' 主线程 线程信息 [主序号].是否结束 = 真 线程信息 [主序号].线程状态 = #线程状态_正在停止 ' 副线程 线程信息 [主序号 + MaxHwnd].是否结束 = 真 线程信息 [主序号 + MaxHwnd].线程状态 = #线程状态_正在停止 ' 大漠插件设置结束标志 线程信息 [主序号].dm.SetExitThread (1) 线程信息 [主序号 + MaxHwnd].dm.SetExitThread (1) UI_更新 (主序号, #UI_更新) .子程序 _内部结束, , , 这个接口是内部调用,不对外 .参数 主序号, 整数型 .局部变量 wait_time, 整数型 日志输出 (“结束 主序号:” + 到文本 (主序号)) 多线程_设置结束标志 (主序号) ' 设置等待时间30秒 wait_time = 30 × 1000 ' 主 .如果真 (线程信息 [主序号].线程句柄 ≠ 0) .如果真 (WaitForSingleObject (线程信息 [主序号].线程句柄, wait_time) ≠ 0) ' 如果等待自然线程失败,没有办法的情况下,只能强制粗暴的结束线程 日志输出 (“主线程 等待线程失败,强制结束线程”) 强制结束线程 (线程信息 [主序号].线程句柄) .如果真结束 关闭线程句柄 (线程信息 [主序号].线程句柄) .如果真结束 ' 副 .如果真 (线程信息 [主序号 + MaxHwnd].线程句柄 ≠ 0) .如果真 (WaitForSingleObject (线程信息 [主序号 + MaxHwnd].线程句柄, wait_time) ≠ 0) 日志输出 (“副线程 等待线程失败,强制结束线程”) 强制结束线程 (线程信息 [主序号 + MaxHwnd].线程句柄) .如果真结束 关闭线程句柄 (线程信息 [主序号].线程句柄) .如果真结束 ' 对象计数恢复 线程信息 [主序号].dm.ReleaseRef () 线程信息 [主序号 + MaxHwnd].dm.ReleaseRef () ' 释放对象 线程信息 [主序号].dm.释放 () 线程信息 [主序号 + MaxHwnd].dm.释放 () .子程序 多线程_结束, , , 设置结束标识 .参数 主序号 ' 判断主序号 .如果真 (主序号 ≤ 0 或 主序号 ≥ MaxHwnd) 返回 () .如果真结束 ' 判断句柄 .如果真 (线程信息 [主序号].线程句柄 = 0) 返回 () .如果真结束 _内部结束 (主序号) 多线程_复位 (主序号) 多线程_复位 (主序号 + MaxHwnd) UI_更新 (主序号, #UI_删除) 日志输出 (“线程结束成功 主序号:” + 到文本 (主序号))
优酷视频链接
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
交流①群:521068947
交流②群:877492966
511遇见QQ: 272586593
511遇见QQ: 906125731