TC官方合作论坛

标题: 关于线程内变量的疑问 [打印本页]

作者: yuguicheng    时间: 2015-9-13 22:48
标题: 关于线程内变量的疑问
本帖最后由 yuguicheng 于 2015-9-13 23:13 编辑

写了个多线程的脚本,好长好长都不好意思放上来,遇到个问题。

* 线程调用的功能的变量会混淆,比如:功能内的变量A根据人物等级可能是“100” 或者“200” 或者其他

线程1人物等级8调用功能的变量A应该=”100“,线程2人物等级6调用此功能的变量A又应该=200,两者同时调用的时候好像变量就混淆了 ,全乱了。
有没有这方面的实例,不然我改天整理一下代码发上来再看

  1. 变量 线程
  2. 功能 按钮0_点击()
  3.     变量 等级=编辑框获取文本("编辑框0")
  4.     变量 变量1
  5.     如果(等级==8)
  6.         变量1="100"
  7.     结束
  8.     如果(等级==6)
  9.         变量1="200"
  10.     结束
  11.     线程 = 线程开启("主程序",变量1)//开启线程
  12.    
  13. 结束


  14. 功能 主程序(变量1)
  15.     遍历(变量 i = 0; i < 60; i++)
  16.         标签设置文本("标签0",变量1)
  17.         等待(10000)
  18.         鼠标移动(100,变量1)
  19.         鼠标左键单击(1)
  20.         等待(100)
  21.     结束
  22. 结束
复制代码

如果开等级**等级8 两种情况,以上这个变量1 不停的在变,10秒内执行的代码就会操作混淆,比如点击坐标,全乱点了,分不清楚是6或者8等级了。怎么办才好?



作者: ok963963ok    时间: 2015-9-14 01:10
请用临界区
作者: 言术    时间: 2015-9-14 06:39

  1. 变量 线程
  2. 功能 按钮0_点击()
  3.    
  4.     线程 = 线程开启("主程序","")//开启线程
  5.    
  6. 结束


  7. 功能 主程序()
  8.     遍历(变量 i = 0; i < 60; i++)
  9.         变量 等级=编辑框获取文本("编辑框0")
  10.         变量 变量1
  11.         如果(等级==8)
  12.             变量1="100"
  13.         结束
  14.         如果(等级==6)
  15.             变量1="200"
  16.         结束
  17.         
  18.         标签设置文本("标签0",变量1)
  19.         等待(10000)
  20.         鼠标移动(100,变量1)
  21.         鼠标左键单击(1)
  22.         等待(100)
  23.     结束
  24. 结束
复制代码

作者: yuguicheng    时间: 2015-9-15 01:09
言术 发表于 2015-9-14 06:39

再研究一下,好像有点思路了,




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1