TC官方合作论坛

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

[问题] 求解线程恢复成功了为什么第二条线程还是没有继续执行

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

马上加入TC

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

x
  1. 线程.暂停(任务句柄数组[下标])
  2. 辅助.等待(2000)
  3. TS_检测[下标].SendString(edit_hwnd,"检测线程\n")
  4. 辅助.等待(50)
  5. 九阴功能.写入临界区(下标,"检测键盘开关",0)
  6. 线程状态=假
  7. i=1
  8. 循环(!线程状态)
  9. 线程状态=线程.恢复(任务句柄数组[下标])
  10. 辅助.等待(200)
  11. 调试输出("窗口"&下标&"::"&i)
  12. i++
  13. 循环结束
复制代码

部分代码如上,看了调试信息 i的值一直是1,意味着线程每次都恢复成功了,没有循环执行第二次。
可是为什么整个代码在运行一段时间后有概率出现线程恢复后第二条线程实际上并没有继续执行的情况呢。
而且如果多开几对这样的线程的话所有线程会同时出线这个问题!!
回复

使用道具 举报

沙发
 楼主| 发表于 2014-7-1 00:45:35 | 只看该作者
  1. 循环(真)
  2. TS_任务[下标].SendString(edit_hwnd,类型.转字符型(i)&"\n")
  3. if(i%5==0)
  4. 九阴功能.写入临界区(下标,"检测键盘开关",1)
  5. 循环(辅助.读配置(类型.转整型(窗口句柄数组[下标]),"检测键盘开关",幽梦九阴.全局路径&"res\\临时.ini")=="0")
  6. 辅助.等待(200)
  7. 循环结束
  8. endif
  9. i++
  10. 辅助.等待(1000)
  11. 循环结束
复制代码

被 暂停线程 的部分代码如上,应该是暂停在下面这一段(上面代码中的一段)
  1. 循环(辅助.读配置(类型.转整型(窗口句柄数组[下标]),"检测键盘开关",幽梦九阴.全局路径&"res\\临时.ini")=="0")
  2. 辅助.等待(200)
  3. 循环结束
复制代码

回复 支持 反对

使用道具 举报

板凳
发表于 2014-7-1 12:19:07 | 只看该作者
  1. 循环(!线程状态)
复制代码

怎么能这样写呢?
你最好加个退出这个循环
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-7-1 12:22:06 | 只看该作者
一只熊 发表于 2014-7-1 12:19
怎么能这样写呢?
你最好加个退出这个循环

我是出了问题后才加了这个循环来看下问题能不能解决。只要线程恢复成功他就自动退出了。,看调试输出的信息这个循环都只执行过一次。而且出问题的不是这个线程,是相对应的另外一条线程(即二楼的代码内容)
回复 支持 反对

使用道具 举报

5#
发表于 2014-7-1 12:27:05 | 只看该作者
看不懂中文代码,,我这边给你写个例子
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-26 12:09 , Processed in 0.167439 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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