TC官方合作论坛
标题:
自己写了一个简单使用临界区的简单脚本,但是不成功
[打印本页]
作者:
aimei_8866999
时间:
2013-5-9 22:59
标题:
自己写了一个简单使用临界区的简单脚本,但是不成功
先上脚本界面图:
[attach]9034[/attach]
这个辅助的功能就是使用临界区 ,在两个列表框里分别输入一行代码,第一个列表框输入的间隔是2秒,第二个列表框输入的间隔是8秒
现在上代码:
空间 总的测试
//默认空间
句柄1,句柄2
临界区标志=0
//开始按钮_点击操作
功能 开始_点击()
临界区标志=线程.创建临界区()
句柄1=线程.开启("总的测试.第一个","")
句柄2=线程.开启("总的测试.第二个","")
线程.等待(句柄1,-1)
线程.等待(句柄2,-1)
线程.删除临界区(临界区标志)
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
功能 第一个()
a=1
循环(真)
线程.进入临界区(临界区标志)
列表框.增加文本("列表框0","第"&a&"增加")
辅助.等待(20)
线程.离开临界区(临界区标志)
a=a+1
辅助.等待(2000)
循环结束
功能结束
功能 第二个()
a=1
循环(真)
线程.进入临界区(临界区标志)
列表框.增加文本("列表框1","第"&a&"增加")
辅助.等待(20)
线程.离开临界区(临界区标志)
a=a+1
辅助.等待(8000)
循环结束
功能结束
空间结束
////////////////////////////////////////////////////////////////////////
现在出现的情况是一点击
开始
界面就卡死了
作者:
zc1835429
时间:
2013-5-9 23:37
你的等待需要加载临界区内部
作者:
aimei_8866999
时间:
2013-5-9 23:50
回复
2楼
zc1835429
的帖子
豆子版主 不可以的 还是不可以测试错误
作者:
舍我其谁
时间:
2013-5-10 09:05
ksn........
作者:
aimei_8866999
时间:
2013-5-10 16:04
问题已经解决,我这个脚本是参照TC的帮助文档写的,TC帮助文档写错了,幸好冷月大神出了一个教程,我仔细看了5边,发现冷月写的教程和TC帮助文档里的不一样,主要区分在
开始点击那里
,帮助文档里有6句代码
功能 开始_点击()
临界区标志=线程.创建临界区()
句柄1=线程.开启("总的测试.第一个","")
句柄2=线程.开启("总的测试.第二个","")
线程.等待(句柄1,-1)
线程.等待(句柄2,-1)
线程.删除临界区(临界区标志)
功能结束
这样运行就会卡死界面
应该是错误的,冷月的教程里这个开始点击里的代码不一样他总共有 四句话
功能 开始_点击()
临界区标志=线程.创建临界区()
句柄1=线程.开启("总的测试.第一个","")
句柄2=线程.开启("总的测试.第二个","")
线程.开启(“总的测试.删除临界区”."")//////////看清楚冷月教程这里用了线程开启删除临界区,而这个线程的函数我在下面写给大家
功能结束
功能 删除临界区()
线程.等待(句柄1,-1)
线程.等待(句柄2,-1)
线程.删除临界区(临界区标志)
功能结束
这样写就不会出问题了
并且这个开启临界区可以在程序初始化那里添加,各个线程可以想加入哪个就加入哪个,想退出哪个就退出哪个,并且有一点
进入临界区和离开临界区就行一个水龙头的阀门一样,随便加在一个函数里边 哪个地方都可以
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1