文章目录[隐藏]
多线程启动主要是启动主线程,副线程的启动放到主线程里,多线程启动就是把线程的句柄,线程PID,窗口句柄等,通过UI更新到窗口的超级列表框。
多线程启动源码
.版本 2 .支持库 EThread .子程序 多线程_启动, 逻辑型, , 成功返回真,失败返回假 .参数 窗口句柄, 整数型 .局部变量 主序号, 整数型 ' 判断句柄 .如果真 (窗口句柄 = 0) 日志输出 (“无效的窗口句柄”) 返回 (假) .如果真结束 ' 多线程_是否启动 .如果真 (多线程_是否启动 (窗口句柄)) 日志输出 (“给句柄线程已经启动了”) 返回 (真) .如果真结束 ' 判断,多线程_取空余位置 主序号 = 多线程_取空余位置 () .如果真 (主序号 = -1) 日志输出 (“没有空余线程位置了”) 返回 (假) .如果真结束 ' 更新UI, ' 第一主线程 线程信息 [主序号].线程句柄 = 0 线程信息 [主序号].窗口句柄 = 窗口句柄 线程信息 [主序号].进程PID = 全局大漠.GetWindowProcessId (窗口句柄) 线程信息 [主序号].是否暂停 = 假 线程信息 [主序号].是否结束 = 假 线程信息 [主序号].线程状态 = #线程状态_正在启动 ' 副线程 线程信息 [主序号 + MaxHwnd].线程句柄 = 0 线程信息 [主序号 + MaxHwnd].窗口句柄 = 窗口句柄 线程信息 [主序号 + MaxHwnd].进程PID = 全局大漠.GetWindowProcessId (窗口句柄) 线程信息 [主序号 + MaxHwnd].是否暂停 = 假 线程信息 [主序号 + MaxHwnd].是否结束 = 假 线程信息 [主序号 + MaxHwnd].线程状态 = #线程状态_正在启动 ' UI更新 UI_更新 (主序号, #UI_增加) ' 启动线程(),这里只创建了主线程,副线程放到主线程里去创建 .如果真 (启动线程 (&脚本主线程, 主序号, 线程信息 [主序号].线程句柄) = 假) UI_更新 (主序号, #UI_删除) 多线程_复位 (主序号) 多线程_复位 (主序号 + MaxHwnd) 日志输出 (“线程创建失败!”) 返回 (假) .如果真结束 日志输出 (“启动 hwnd =” + 到文本 (窗口句柄) + “,主序号” + 到文本 (主序号)) 返回 (真)
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
交流群:521068947
本人QQ: 272586593