TC官方合作论坛
标题:
为什么加入临界区就出现内存不足的现象啊!
[打印本页]
作者:
2811663
时间:
2013-10-6 09:19
标题:
为什么加入临界区就出现内存不足的现象啊!
空间 古剑奇谭2
//默认空间
对象句柄
功能 自动登录()
路径=浏览框.获得("浏览框0")
如果(路径=="")
辅助.消息框("请选择游戏路径!")
返回 1
如果结束
如果(字符串.查找字符串(路径,"GuJian2.exe")<0)
辅助.消息框("请选择正常的游戏路径!")
返回 2
如果结束
账号=编辑框.获得文本("编辑框0")
如果(账号=="")
辅助.消息框("请输入账号!")
返回 3
如果结束
密码=编辑框.获得文本("编辑框1")
如果(密码=="")
辅助.消息框("请输入密码!")
返回 4
如果结束
进程.打开(路径)
辅助.等待(500)
//说明:支持多张图片(图片与图片中间使用 竖线隔开)和根据四角的颜色判断是否为透明图
线程.开启("古剑奇谭2.循环线程","")
辅助.等待(500)
线程.开启("古剑奇谭2.开始画面","")
辅助.等待(500)
线程.开启("古剑奇谭2.登录画面","")
辅助.等待(500)
线程.进入临界区(对象句柄)
辅助.等待(200)
鼠标.移动(632,587)
鼠标.左键单击(1)
辅助.等待(200)
鼠标.移动(666,376)
鼠标.左键单击(1)
线程.离开临界区(对象句柄)
功能结束
功能 循环线程()
线程.进入临界区(对象句柄)
图片X坐标,图片Y坐标
循环(图像.找图(0,0,1440,900,"rc:开始游戏.bmp",0,1.0,0,图片X坐标,图片Y坐标)<0)
辅助.等待(20)
循环结束
鼠标.移动(图片X坐标,图片Y坐标)
鼠标.左键单击(1)
线程.离开临界区(对象句柄)
功能结束
功能 开始画面()
线程.进入临界区(对象句柄)
图片X坐标,图片Y坐标
循环(图像.找图(0,0,1440,900,"rc:cg.bmp",0,0.5,0,图片X坐标,图片Y坐标)<0)
辅助.等待(20)
循环结束
键盘.按键(27,1)
辅助.等待(1500)
键盘.按键(27,1)
线程.离开临界区(对象句柄)
功能结束
功能 登录画面()
线程.进入临界区(对象句柄)
图片X坐标,图片Y坐标
循环(图像.找图(0,0,1440,900,"rc:开始画面.bmp",0,1.0,0,图片X坐标,图片Y坐标)<0)
辅助.等待(20)
循环结束
键盘.发送字符串(编辑框.获得文本("编辑框0"))
辅助.等待(20)
键盘.按键(9,1)
辅助.等待(20)
键盘.发送字符串(编辑框.获得文本("编辑框1"))
线程.离开临界区(对象句柄)
功能结束
//开始按钮_点击操作
功能 开始_点击()
线程.开启("古剑奇谭2.自动登录","")
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
功能 初始化()
对象句柄=线程.创建临界区()
返回 真
功能结束
空间结束
//空间结束语句
作者:
2811663
时间:
2013-10-6 09:23
本来把找图直接写到外面排下来可以运行的,但是因为是个循环比较容易卡死,就写成线程,但是线程比较多容易混乱,就加入临界区。但是加入临界区之后已启动就弹好几个内存不足的框出来。脚本也不正常运行了。。。求师傅指点下!
作者:
klyyz1980
时间:
2013-10-6 10:54
临界区是用来轮流执行共享资源的,如果没有共享资源就不要使用临界区,不是你说的乱了才使用临界区,乱了是因为你的逻辑方法有问题
作者:
2811663
时间:
2013-10-6 11:31
回复
3楼
klyyz1980
的帖子
但是这些循环语句如果没有临界区的话,他会不依次执行的,会提早运行,还有之后那些鼠标动作也不是依次运行,线程之间就运行了
作者:
2811663
时间:
2013-10-6 11:32
大神来搭救下!
作者:
2811663
时间:
2013-10-6 13:54
空间 临界区测试
//默认空间
对象句柄
功能 线程测试()
线程.开启("临界区测试.线程1","")
辅助.等待(50)
线程.开启("临界区测试.线程2","")
功能结束
功能 线程1()
线程.进入临界区(对象句柄)
辅助.消息框("执行线程1")
辅助.等待(5000)
线程.离开临界区(对象句柄)
功能结束
功能 线程2()
辅助.消息框("执行线程2")
功能结束
//开始按钮_点击操作
功能 开始_点击()
线程.开启("临界区测试.线程测试","")
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
功能 初始化()
对象句柄=线程.创建临界区()
功能结束
空间结束
//空间结束语句
就连这么简单的线程测试都会内存不足,怎么回事啊。凡是触及临界区的都会内存不足。或者是我写的临界区脚本有什么问题
作者:
klyyz1980
时间:
2013-10-6 15:23
搞不懂你这么几行为何要用这么多的线程
作者:
2811663
时间:
2013-10-6 15:29
回复
7楼
klyyz1980
的帖子
这个只是个测试,如果在线程加多些程序他一样内存不足啊
作者:
klyyz1980
时间:
2013-10-6 15:32
仔细核对帮助文档
作者:
awlbm
时间:
2014-8-29 00:40
线程.开启("临界区测试.线程1","")
线程.等待。。。。。。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1