精易论坛

标题: 新手求助 线程启动问题 [打印本页]

作者: rhdwnsgh    时间: 2024-5-12 17:11
标题: 新手求助 线程启动问题
易语言 按F1键 启动线程后 在按F1会重复 启动同一个线程   有没有大神知道 不管按多少次 只开启一个线程的方法    (没有窗口 没有窗口组件)





作者: 406873828    时间: 2024-5-12 17:16
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
判断 (线程_取状态 (&线程名字) = 1)  ’
输出调试文本 (“正在运行”)
判断 (线程_取状态 (&线程名字) = 0)
输出调试文本 (“线程已结束”)
线程_启动(&线程名字)
判断 (线程_取状态 (&线程名字) = -1)
输出调试文本 (“线程句柄已失效或销毁”)
线程_启动(&线程名字)




作者: 风度猫    时间: 2024-5-12 17:17
你把线程句柄判断下...不就好了
  
如果真 (线程_取状态 (G_现成句柄) ≠ 1)
启动线程 (&线程, , G_现成句柄)


i支持库列表   支持库注释   
EThread多线程支持库


作者: rhdwnsgh    时间: 2024-5-12 17:21
我的意思是 只能开启一个 如果按了2次 句柄什么的就会有2个 你只能关闭一个 另一个就不能关闭了 在运行

补充内容 (2024-5-12 17:23):
有的时候会不小心按两次 或者点击2次 他就会启动2个线程 只能 关闭一个 那一个孩子运行
作者: 734030986    时间: 2024-5-12 17:25
你设置个变量,按下F1之后,变量=1,线程启动的时候判断变量=1就启动,不等于1就不启动,线程启动之后加个变量≠1

补充内容 (2024-5-12 17:29):
看下面代码,无论你按多少次F1,子程序都只启动了一次
作者: 734030986    时间: 2024-5-12 17:28
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
集_变量整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
集_变量 = 1
子程序名返回值类型公开备 注
_按钮1_被单击  
如果真 (集_变量 = 1)
子程序1 ()

子程序名返回值类型公开备 注
子程序1  
调试输出 (“1”)
集_变量 = 0


i支持库列表   支持库注释   
spec特殊功能支持库


作者: rhdwnsgh    时间: 2024-5-12 22:37
风度猫 发表于 2024-5-12 17:17
你把线程句柄判断下...不就好了[e=0].版本 2
.支持库 EThread

解决了 在启动线程上面加1000延迟就不会多开了 哎




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4