TC官方合作论坛

标题: 多线程问题. [打印本页]

作者: foxtail    时间: 2015-9-13 15:53
标题: 多线程问题.
本帖最后由 foxtail 于 2015-9-13 15:57 编辑
  1. 变量 主线程句柄=0,是否暂停线程=假,循环开关=真,计数=0

  2. //-----------线程开启-----------//
  3. 功能 热键0_热键()
  4.     如果(主线程句柄==0)
  5.         主线程句柄 = 线程开启("主线任务","")
  6.         是否暂停线程 = 假
  7.         //调试输出(线程ID)
  8.     否则
  9.         调试输出("线程已经开启了,无需再启动")
  10.     结束
  11. 结束

  12. //-------暂停/恢复线程------//
  13. 功能 热键1_热键()
  14.     如果(是否暂停线程==假)
  15.         线程暂停(主线程句柄)
  16.         是否暂停线程 = 真        //重新赋值为真,意思是线程已经在暂停状态
  17.     否则
  18.         //如果 "是否暂停线程==假"不成立,那就为真.相当于线程在暂停状态.
  19.         //需要做恢复线程操作
  20.         线程恢复(主线程句柄)
  21.         是否暂停线程 = 假
  22.     结束
  23. 结束
  24. //-------停止线程------//
  25. 功能 热键2_热键()
  26.     //这里添加你要执行的代码
  27.     如果(主线程句柄!=0)
  28.         循环开关=假
  29.         
  30.         计数=0
  31.         主线程句柄=0
  32.         线程关闭(主线程句柄)
  33.         调试输出("线程停止........")
  34.     结束
  35. 结束

  36. 功能 主线任务()
  37.     循环(循环开关)
  38.         计数=计数+1
  39.         遍历(变量 i = 0; i < 5; i++)
  40.             等待(100)
  41.         结束
  42.         调试输出("计数执行了:" & 计数 & "次")
  43.     结束
  44. 结束

复制代码

1.界面有3个热键: 启动(F10) 暂停恢复(F11) 停止(END)2.TC版本:5.4

问题:第一次开启线程,它会执行循环.并且死循环打印计数信息.然后我按END键停止关闭线程后.线程关闭. 再次F10开启线程时.无任何反应.就是代码里面的 "功能 主线任务()" 不执行.


是什么问题呢???请教请教~

作者: foxtail    时间: 2015-9-13 16:03
难道同一函数,执行了一次并停止之后.再也不能执行相同函数的线程了?
作者: 蓝丝雨    时间: 2015-9-13 16:14
//-----------线程开启-----------//
功能 热键0_热键()
    如果(主线程句柄==0)
        循环开关 = 真
        主线程句柄 = 线程开启("主线任务","")
        是否暂停线程 = 假
        //调试输出(线程ID)
    否则
        调试输出("线程已经开启了,无需再启动")
    结束
结束
1.在启动脚本时 把循环开关赋值为 真
//-------停止线程------//
功能 热键2_热键()
    //这里添加你要执行的代码
    如果(主线程句柄!=0)
        循环开关=假
        
        计数=0
        
        线程关闭(主线程句柄)
        主线程句柄=0
        调试输出("线程停止........")
    结束
结束
2.在停止脚本时,关闭线程后,再将主线程句柄赋值为0

作者: foxtail    时间: 2015-9-13 16:16
已解决.逻辑问题...
作者: 这论坛不错    时间: 2015-9-13 17:05
蓝丝雨 发表于 2015-9-13 16:14
//-----------线程开启-----------//
功能 热键0_热键()
    如果(主线程句柄==0)

官方合作学院的也来跟你学了。。。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1