TC官方合作论坛

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

[已解决] 关于多线程,希望对多线程有深刻理解的大神回答,急等!

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

马上加入TC

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

x
写个脚本,多线程部分总是会有些键鼠冲突,今天有个新思路,但是不知道是否可行,请大神指点下,我的思路是在某个条件下,开启线程A,线程A的功能第一就是关闭线程B,然后执行其他语句,同样,在某个条件下,开启线程B,线程B的功能第一条就是关闭线程A,然后执行其他语句,也就是说,我的要求是线程A和线程B在程序中只能执行一个,非A即B,但是我不知道是否会出现以下情况,即开启2个线程的条件同时间成立,即线程A和线程B同时开启,结果就是互相关闭对方,这样程序就OVER了。。因为这种情况有点极端,在实际运行中调试不一定能看到结果,所以想请教下大神多线程运行时如果时间段分得很细很细,CPU是必须执行完一个线程然后执行另一个还是可以同时执行2个线程,我看了多线程那个临界区,感觉我的要求用不上那个,没那么复杂,敢问我的思路可行否,会不会出现2个线程同时开启,然后互相关闭对方这种错误呢
回复

使用道具 举报

沙发
发表于 2015-4-7 15:39:07 | 只看该作者
基本上是不会出现你说的那种情况的,就算你2个线程同时开启,也会有一个线程快0.01秒执行,至于关闭线程就没必要了,你关了后不是还要开?暂停线程,处理完再恢复线程就行了
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-4-7 15:45:43 | 只看该作者
这论坛不错 发表于 2015-4-7 15:39
基本上是不会出现你说的那种情况的,就算你2个线程同时开启,也会有一个线程快0.01秒执行,至于关闭线程就 ...

如果不会出现就OK了,我要实现的功能是在某个条件下退出游戏,2个线程都是要先退出游戏,然后执行其他功能,但是以前呢,会出现这种情况,2个线程都开启了,然后A线程模拟鼠标操作已经退出游戏界面了,可是B线程开始执行退出游戏,结果就找图找色陷入死循环了。。所以我的思路就是确保2个线程只要开启一个,马上关闭另外1个,然后再执行其他语句
回复 支持 反对

使用道具 举报

地板
发表于 2015-4-7 20:06:41 | 只看该作者
哪有那么复杂呀.  后台不存在你说的这冲突情况
前台你说的这情况的话
线程函数里 有个东西叫做 临界区 完美解决你这问题
根本就不用你自己去弄这个
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2015-4-8 06:48:54 | 只看该作者
qw362534335 发表于 2015-4-7 20:06
哪有那么复杂呀.  后台不存在你说的这冲突情况
前台你说的这情况的话
线程函数里 有个东西叫做 临界区 完 ...

en,谢谢,懂了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-23 06:45 , Processed in 0.139555 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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