|
30精币
逛了很久,很多易友都推荐多线程,也看了些代码,但是和自己的需求确实有出入。。。
主题:
有2个子程序,需要在按钮点击后同时执行,两个子程序无限循环的不同任务; 比如子程序A看电影,子程序B判断口渴了喝水,
当子程序B判断出应该喝水的时候,子程序A暂停,子程序B执行喝水命令,执行完成后恢复子程序A继续看电影!!!
我测试了,代码如下:(运行一段时间后会出现 *.tmp 已停止工作)两个子程序循环里面还有多个循环命令,但执行了会跳出,不知道是不是我代码问题。。。
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 程序A句柄, 整数型
.程序集变量 程序B句柄, 整数型
.子程序 _按钮1_被单击
程序A句柄 = 线程启动 (&子程序A, , )
延时 (100)
程序B句柄 = 线程启动 (&子程序B, , )
.子程序 子程序A
.判断循环首 (编辑框1.内容 = “看电影”)
延时 (100)
输出调试文本 (“看电影”)
.判断循环尾 ()
.子程序 子程序B
.局部变量 状态, 文本型
.判断循环首 (编辑框1.内容 = “看电影”)
延时 (100)
状态 = 编辑框2.内容
.如果真 (状态 = “口渴”)
线程暂停 (程序A句柄)
输出调试文本 (“喝水”)
延时 (3000)
线程恢复 (程序A句柄)
.如果真结束
.判断循环尾 ()
|
最佳答案
查看完整内容
采用精易模块……
如此这样……
反正运行了半个小时以上 没有发现崩溃或者错误……
|