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