易语言大漠多线程模板多线程重新运

多线程在暂停后,采用先内部结束线程,再重启主线线程,再重新副线程的方法开始线程的重新运恢复。

511遇见易语言多线程大漠多线程

1、多线程_重新运行
2、时钟事件

教程源码:

.版本 2
.支持库 EThread
 
.子程序 多线程_重新运行, 逻辑型
.参数 主序号, 整数型
.局部变量 索引
 
' 判断
.如果真 (主序号 ≤ 0 或 主序号 > MaxHwnd)
    返回 (假)
 
.如果真结束
 
.如果真 (线程信息 [主序号].线程句柄 = 0)
    返回 (假)
.如果真结束
 
 
' 先结束
_内部结束 (主序号)
 
' 再重启主线程
线程信息 [主序号].窗口句柄 = 0
线程信息 [主序号].线程状态 = #线程状态_正在启动
线程信息 [主序号].是否暂停 = 假
线程信息 [主序号].是否结束 = 假
 
 
' 再重启副线程
线程信息 [主序号 + MaxHwnd].窗口句柄 = 0
线程信息 [主序号 + MaxHwnd].线程状态 = #线程状态_正在启动
线程信息 [主序号 + MaxHwnd].是否暂停 = 假
线程信息 [主序号 + MaxHwnd].是否结束 = 假
 
 
' 通知UI更新
UI_更新 (主序号, #UI_更新)
' 创建主线程,副线程放到主线程里面创建,这里只创建主线程
.如果真 (启动线程 (&脚本主线程, 主序号, 线程信息 [主序号].窗口句柄) = 假)
    UI_更新 (主序号, #UI_删除)
    多线程_复位 (主序号)
    多线程_复位 (主序号 + MaxHwnd)
    日志输出 (“线程重新创建失败”)
 
    返回 (假)
.如果真结束
 
日志输出 (“重新运行线程  Hwnd =” + 到文本 (线程信息 [主序号].窗口句柄) + “, 主序号:” + 到文本 (主序号))
 
返回 (真)

源码:易语言大漠多线程模板-11多线程重新运

你可能感兴趣的:(大漠,易语言,多线程)