精易论坛
标题: 线程循环中加入了延时该怎么立刻结束 [打印本页]
作者: 墨轩 时间: 4 天前
标题: 线程循环中加入了延时该怎么立刻结束
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
线程句柄 | 整数型 | |
是否运行 | 逻辑型 | |
如果真 (按钮_线程开始.标题 =
“停止”)
是否运行 = 假
线程_等待 (线程句柄, -1
)
线程_销毁 (线程句柄
)
线程句柄 = 0

按钮_线程开始.标题 =
“开始”
返回 ()是否运行 = 真线程句柄 =
线程_启动 (&线程任务
)按钮_线程开始.标题 =
“停止”
判断循环首 (是否运行
)
如果真 (是否运行 =
假)
跳出循环 ()
调试输出 (0)
程序_延时 (2000
)
调试输出 (1
)
程序_延时 (3000
)
判断循环尾 ()调试输出 (3
)
想实现的效果是点击停止了立刻结束线程并执行调试输出(3)
作者: 1173847128 时间: 4 天前
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
线程句柄 | 整数型 | |
是否运行 | 逻辑型 | |
如果 (是否运行 =
假)
是否运行 = 真

按钮_线程开始.标题 =
“停止”
线程句柄 =
线程_启动 (&线程任务
)

是否运行 = 假
线程_销毁 (线程句柄
)
按钮_线程开始.标题 =
“开始”
调试输出 (3
) 
判断循环首 (是否运行
)
调试输出 (0
)
程序_延时 (2000
)
调试输出 (1
)
程序_延时 (3000
)
判断循环尾 ()
作者: 1173847128 时间: 4 天前
线程_销毁 (线程句柄)
作者: chaochaochao 时间: 4 天前
可以不通过传递参数来判断线程是否开关,直接用结束线程吧
作者: 1173847128 时间: 4 天前
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
线程句柄 | 整数型 | |
是否运行 | 逻辑型 | |
如果 (是否运行 =
假)
是否运行 = 真

按钮_线程开始.标题 =
“停止”
线程句柄 =
线程_启动 (&线程任务
)

是否运行 = 假
线程_销毁 (线程句柄
)
按钮_线程开始.标题 =
“开始”
调试输出 (3
) 
判断循环首 (是否运行
)
调试输出 (0
)
程序_延时 (2000
)
调试输出 (1
)
程序_延时 (3000
)
判断循环尾 ()
作者: 1173847128 时间: 4 天前
在审核,给你改良了一下
作者: 熬夜 时间: 4 天前
为何不 弄个常量A 判断 a=0 a=1 去选择执行不执行 结果
作者: love5618775 时间: 4 天前
如果我来思考,我就写一个延迟100ms,循环,那么我要循环10次才算1ms,在这个循环体里面,我加入一个判断,如果变量=真,那么就跳出循环,继续执行,相当于100ms我判断值是否需要的值,不是我就不进行这个延迟的循环了。
作者: 1173847128 时间: 4 天前
窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
线程句柄 | 整数型 | |
是否运行 | 逻辑型 | |
如果 (是否运行 =
假)
是否运行 = 真

按钮_线程开始.标题 =
“停止”
线程句柄 =
线程_启动 (&线程任务
)

是否运行 = 假
线程_销毁 (线程句柄
)
按钮_线程开始.标题 =
“开始”
线程句柄 = 0
调试输出 (3
) 
判断循环首 (是否运行
)
程序_延时 (2000
)
程序_延时 (3000
)
判断循环尾 ()
作者: 1173847128 时间: 4 天前
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 线程句柄, 整数型
.程序集变量 是否运行, 逻辑型
.子程序 _按钮_线程开始_被单击
.如果 (是否运行 = 假)
是否运行 = 真
按钮_线程开始.标题 = “停止”
线程句柄 = 线程_启动 (&线程任务)
.否则
是否运行 = 假
线程_销毁 (线程句柄)
按钮_线程开始.标题 = “开始”
线程句柄 = 0
调试输出 (3) ' 这里调试不就好了
.如果结束
.子程序 线程任务
.判断循环首 (是否运行)
程序_延时 (2000)
' 延迟中是不会跳出循环的’
程序_延时 (3000)
.判断循环尾 ()
' 调试输出 (3) 你都强制关闭线程了还怎么输出
作者: b0y 时间: 前天 10:04
减少每次延时时间 不要直接强制结束线程
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |