TC官方合作论坛
标题:
一个线程问题
[打印本页]
作者:
caijuan2013
时间:
2014-3-14 15:15
标题:
一个线程问题
ArrLen=2
for(i=0;i<ArrLen;i++)
CZT.ga_SubThdID[i]=thread.beginthread("SubThread.SubThreadStart",i)
help.sleep(5000)
endfor
为什么这样写这两个线程运行会5秒后一起同时启动,而不是先启动一个,然后5秒后启动后一个?
子线程函数很简单,就是循环60次,输出索引和一个变量而已
namespace SubThread
function SubThreadStart(RIndex)
SubThdCnt=0,SubThdMax=60
while(true && SubThdCnt< SubThdMax)
SubThdCnt++
help.sleep(1000)
edit.settext("Edit_Thread" & RIndex,SubThdCnt & "--" & CZT.ga_TaskKind[RIndex])
endwhile
return true
endfunction
endnamespace
作者:
caijuan2013
时间:
2014-3-14 15:17
另外,程序运行后,显示处理的结果没问题
作者:
zxw445
时间:
2014-3-14 15:44
咳,英文看不懂。所以不解答了。等待下面大神来临。
作者:
caijuan2013
时间:
2014-3-14 17:15
ArrLen=2
for(i=0;i<ArrLen;i++)
CZT.ga_SubThdID[i]=thread.beginthread("SubThread.SubThreadStart",i)
help.sleep(5000)
endfor
貌似是循环建立线程的这个代码不能放在窗体按钮的点击事件里面,
我试了下,先在窗体按钮点击事件里开启一个单独的线程A ,然后再把上面的代码移到线程A里, 这样产生的两个线程就可以按程序设计的错开执行了。
作者:
今非
时间:
2014-3-14 18:07
请采纳
←
如果我的回答帮助到了你 !
//--说明:你在线程里面的第一句代码 看看调试输出就行
调试输出(系统.获取毫秒()&","&i)
复制代码
温馨提示8 : TC官方VIP群也是一个交流的好地方 , 里面有很多大神
作者:
caijuan2013
时间:
2014-3-14 18:49
没懂
调试输出(系统.获取毫秒()&","&i)
是让我看看两个线程启动的准确时间吗?
作者:
续花丶
时间:
2014-3-14 20:23
caijuan2013 发表于 2014-3-14 18:49
没懂
调试输出(系统.获取毫秒()&","&i)
代码没看出问题呢,应该是等了5秒吧。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1