TC官方合作论坛

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

[问题] 新手求助 ,线程等待的问题

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

马上加入TC

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

x
TC帮助文档中的 等待函数原形及功能
         int waitforthread(int handle,int sec)
         函数功能: 检测线程调用程序事件的信号状态,当函数的执行时间超过指定的时间时就返回执行信号状态的整形
提问1:这里的信号状态是指线程的返回值吗?
        是不是可以这样理解:当等待时间中,线程执行完毕并返回值,则等待函数就返回0
                                         否则,当线程在指定的时间内未执行完,无返回值,则等待函数就返回-1
提问2:关于等待函数第二个参数单位为秒是否精准?
下面是文档提供的事例:
  1. 功能 整型 线程方法()
  2. 辅助.消息框("这是线程的执行方法")
  3. 返回 0
  4. 功能结束

  5. 功能 整型 开始执行()
  6. 整型 线程句柄,等待
  7. 线程句柄=线程.开启("我的程序.线程方法","")

  8. 辅助.等待(2000)
  9. 等待=线程.等待(线程句柄,10)
  10. 如果(等待==0)
  11. 辅助.消息框("等待成功")
  12. 如果结束
  13. 如果(等待==-1)
  14. 辅助.消息框("等待失败")
  15. 如果结束
  16. 返回 0
  17. 功能结束

复制代码
上面指定等待10秒,执行后,当线程弹出消息框("这是线程的执行方法")后,如果我迅速点确认,则立马弹出"等待成功",当我不点确认,可以很明显发现不超过10秒,它就弹出了等待失败,这是怎么回事,貌似那10秒一点不精准??求高人指点明津


回复

使用道具 举报

沙发
发表于 2012-7-18 12:28:26 | 只看该作者
应该是毫秒的,TC命令都是毫秒的

你把那个辅助.等待(2000)去掉,

在把后面参数当成毫秒来试试
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-7-18 12:33:22 | 只看该作者
谢谢陌上,单位确实是毫秒,帮助文档写错了
回复 支持 反对

使用道具 举报

地板
发表于 2012-7-18 12:39:19 | 只看该作者
学习
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-13 23:15 , Processed in 0.157291 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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