TC官方合作论坛

 找回密码
 立即注册
查看: 5400|回复: 19

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

[复制链接]
发表于 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的帖子

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

使用道具 举报

发表于 2012-2-14 09:32:31 | 显示全部楼层
互斥锁这么高科技,在哪里怎么用呢TC
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-14 10:59:53 | 显示全部楼层
:) 朋友,有互斥锁哦,TC
match 发表于 2012-2-14 9:01:29



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

回复 支持 反对

使用道具 举报

发表于 2012-2-14 11:12:40 | 显示全部楼层
TC是有互斥锁的。就是临界区。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-14 11:30:46 | 显示全部楼层
回复 7楼三猫大叔的帖子

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

使用道具 举报

发表于 2012-2-14 12:11:02 | 显示全部楼层
内置api,不需要调用- -
回复 支持 反对

使用道具 举报

发表于 2012-2-14 12:27:12 | 显示全部楼层
后台鼠标还存在互斥么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-16 14:16 , Processed in 0.052213 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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