TC官方合作论坛

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

[已解决] 没有互斥锁的多线程就不是真正的多线程~问题已解决!

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

马上加入TC

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

x
互斥锁的功能打个比方来说:好比一节火车上只有一个厕所,当同时有几个乘客要上厕所要怎么解决?打群架?胜者入厕?NO!!应该是这样的,按序进去,先进去的人转动门把手显示“有人”,方便完了出来在转回“无人”,这样门外的人只要看门牌就知道应该是等待还是进去,这样就实现文明入厕自动排序~
多线程的脚本也是一样的道理,当多个线程同时要读取一个进程的内存数据或者同时调用鼠标移动,如果没有协调好就会起冲突,脚本就不能正常运行,所以没有互斥锁的多线程就不是真正的多线程!按键就有好几个具有互斥锁功能的插件,用起来很方便,希望版主能增加这样的功能~!看好TC,作者加油!!感谢论坛各位大神的指点问题已经解决~原来TC里的临界区就是互斥锁的功能!1
回复

使用道具 举报

沙发
 楼主| 发表于 2012-2-14 08:36:46 | 只看该作者
我来转发一下以前按键论坛一位朋友发的一个互斥锁插件的文章吧,只可惜那插件好像不支持COM接口调用,我在TC试过。。
按键既然支持多线程,为什么就不给一套同步机制呢!反正我没发现,这里写了一个简单的互斥锁插件,应急用用吧.

jcqm.rar (6.88 KB, 下载次数: 249)
2010-5-12 13:53 上传下载次数: 249

由于随手在我学习用的插件工程里加的代码,所以里面还有一些其他东西,见谅!测试代码如下:

DimEnv mux
mux = Plugin.jcqm.jMutexInit
BeginThread te2
Plugin.jcqm.jMutexLock mux
For 10
    TracePrint "主线程"
    Delay 1000
Next
Plugin.jcqm.jMutexUnlock mux
Delay 99999
EndScript
//////////////////////////////////
Function te2
    Plugin.jcqm.jMutexLock mux
    For 10
        TracePrint "子线程"
        Delay 1000
    Next
    Plugin.jcqm.jMutexUnlock mux
    Delay 99999
End Function
Sub OnScriptExit()
    Plugin.jcqm.jMutexDestroy mux
End Sub
回复 支持 反对

使用道具 举报

板凳
发表于 2012-2-14 09:01:29 | 只看该作者
:) 朋友,有互斥锁哦,TC
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-2-14 09:08:48 | 只看该作者
回复 3楼match的帖子

版主帮忙给个链接啊  教程里没看到~
回复 支持 反对

使用道具 举报

5#
发表于 2012-2-14 09:32:31 | 只看该作者
互斥锁这么高科技,在哪里怎么用呢TC
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2012-2-14 10:59:53 | 只看该作者
:) 朋友,有互斥锁哦,TC
match 发表于 2012-2-14 9:01:29



急切等待回复!!!TC脚本就卡在这了

回复 支持 反对

使用道具 举报

7#
发表于 2012-2-14 11:12:40 | 只看该作者
TC是有互斥锁的。就是临界区。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-2-14 11:30:46 | 只看该作者
回复 7楼三猫大叔的帖子

看看了下帮助文档没找到临界区的调用说明啊~麻烦版主指点下!!
回复 支持 反对

使用道具 举报

9#
发表于 2012-2-14 12:11:02 | 只看该作者
内置api,不需要调用- -
回复 支持 反对

使用道具 举报

10#
发表于 2012-2-14 12:27:12 | 只看该作者
后台鼠标还存在互斥么?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-3 12:06 , Processed in 0.153506 second(s), 24 queries .

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

© 2001-2013 Comsenz Inc.

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