TC官方合作论坛

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

[问题] 自己写了一个简单使用临界区的简单脚本,但是不成功

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-9 22:59:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先上脚本界面图:


这个辅助的功能就是使用临界区 ,在两个列表框里分别输入一行代码,第一个列表框输入的间隔是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)
               
        循环结束      
功能结束


空间结束
////////////////////////////////////////////////////////////////////////
现在出现的情况是一点击开始 界面就卡死了

本帖子中包含更多资源

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

x
回复

使用道具 举报

沙发
发表于 2013-5-9 23:37:35 | 只看该作者
你的等待需要加载临界区内部
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2013-5-9 23:50:11 | 只看该作者
回复 2楼zc1835429的帖子

豆子版主 不可以的   还是不可以测试错误
回复 支持 反对

使用道具 举报

地板
发表于 2013-5-10 09:05:47 | 只看该作者
ksn........
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2013-5-10 16:04:01 | 只看该作者
问题已经解决,我这个脚本是参照TC的帮助文档写的,TC帮助文档写错了,幸好冷月大神出了一个教程,我仔细看了5边,发现冷月写的教程和TC帮助文档里的不一样,主要区分在开始点击那里,帮助文档里有6句代码
功能 开始_点击()
        临界区标志=线程.创建临界区()
        句柄1=线程.开启("总的测试.第一个","")
        句柄2=线程.开启("总的测试.第二个","")
       线程.等待(句柄1,-1)
       线程.等待(句柄2,-1)
        线程.删除临界区(临界区标志)   
功能结束

这样运行就会卡死界面
应该是错误的,冷月的教程里这个开始点击里的代码不一样他总共有 四句话
功能 开始_点击()
        临界区标志=线程.创建临界区()
        句柄1=线程.开启("总的测试.第一个","")
        句柄2=线程.开启("总的测试.第二个","")
    线程.开启(“总的测试.删除临界区”."")//////////看清楚冷月教程这里用了线程开启删除临界区,而这个线程的函数我在下面写给大家   
功能结束

功能  删除临界区()
线程.等待(句柄1,-1)
       线程.等待(句柄2,-1)
        线程.删除临界区(临界区标志)
功能结束
这样写就不会出问题了
并且这个开启临界区可以在程序初始化那里添加,各个线程可以想加入哪个就加入哪个,想退出哪个就退出哪个,并且有一点
进入临界区和离开临界区就行一个水龙头的阀门一样,随便加在一个函数里边 哪个地方都可以
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-4 20:45 , Processed in 0.158996 second(s), 25 queries .

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

© 2001-2013 Comsenz Inc.

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