TC官方合作论坛

 找回密码
 立即注册
查看: 420|回复: 6
打印 上一主题 下一主题

[已解决] 一个线程问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-3-14 15:15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    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



回复

使用道具 举报

7#
发表于 2014-3-14 20:23:57 | 只看该作者
caijuan2013 发表于 2014-3-14 18:49
没懂

调试输出(系统.获取毫秒()&","&i)

代码没看出问题呢,应该是等了5秒吧。
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2014-3-14 15:17:25 | 只看该作者
另外,程序运行后,显示处理的结果没问题
回复 支持 反对

使用道具 举报

板凳
发表于 2014-3-14 15:44:11 | 只看该作者
咳,英文看不懂。所以不解答了。等待下面大神来临。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-3-14 17:15:06 | 只看该作者
    ArrLen=2
   for(i=0;i<ArrLen;i++)
        
        CZT.ga_SubThdID[i]=thread.beginthread("SubThread.SubThreadStart",i)

        help.sleep(5000)
    endfor

貌似是循环建立线程的这个代码不能放在窗体按钮的点击事件里面,
我试了下,先在窗体按钮点击事件里开启一个单独的线程A ,然后再把上面的代码移到线程A里, 这样产生的两个线程就可以按程序设计的错开执行了。

回复 支持 反对

使用道具 举报

5#
发表于 2014-3-14 18:07:59 | 只看该作者
请采纳如果我的回答帮助到了你 !

  1. //--说明:你在线程里面的第一句代码 看看调试输出就行
  2. 调试输出(系统.获取毫秒()&","&i)
复制代码


温馨提示8 : TC官方VIP群也是一个交流的好地方 , 里面有很多大神
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-3-14 18:49:47 | 只看该作者
没懂

调试输出(系统.获取毫秒()&","&i)

是让我看看两个线程启动的准确时间吗?
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-28 06:55 , Processed in 0.198359 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表