TC官方合作论坛

标题: 求教一个临界区的问题。。 [打印本页]

作者: ludocary    时间: 2013-11-3 12:40
标题: 求教一个临界区的问题。。
我想执行一个按键功能,功能如图片所示,
我做了一个,也能执行,但是很快就死机,,
功能每隔一段时间执行一次按键,并等待一定的时间,按键之间不能有冲突,

求大神了。

作者: dongyijun1979    时间: 2013-11-3 12:46
这东西跟临界区有关系?
作者: ludocary    时间: 2013-11-3 12:52
dongyijun1979 发表于 2013-11-3 12:46
这东西跟临界区有关系?

有关系的,当在执行F1的时候就不能执行F2,
比如说我执行每隔10S执行F1,并等待5s,
同时我每隔5S执行F2,并等待10S,

执行下一次的时候就会起冲突了。。。不用临界区搞不定的
作者: agan2012    时间: 2013-11-3 13:07
取时间间隔
看下我的课程里面有讲解
http://bbs.tyuyan.com/thread-32811-1-1.html
作者: ludocary    时间: 2013-11-3 13:13
agan2012 发表于 2013-11-3 13:07
取时间间隔
看下我的课程里面有讲解
http://bbs.tyuyan.com/thread-32811-1-1.html

没有链接,附件里面也没有。。
作者: agan2012    时间: 2013-11-3 13:16
ludocary 发表于 2013-11-3 13:13
没有链接,附件里面也没有。。

你看下时间函数 里面有一个取间隔时间
作者: dongyijun1979    时间: 2013-11-3 13:18
临界区是多线程间需要同步时(比如访问共享资源)才会用到。
你这个功能只需要控制好延迟时间就好了啊。
实在用不到线程同步机制啊。
临界区的用法,在帮助文档里就有。
[attach]12470[/attach]

作者: kaixindexifan    时间: 2013-11-3 14:26
  1. 空间 测试

  2. var 临界区句柄,按键等待时间=数组[20],按键间隔时间=数组[20],线程句柄=数组[20]

  3. 功能 开始_点击()
  4. 变量 i
  5. for(i=1;i<=12;i++)
  6. 按键等待时间[i]=编辑框.获得文本("编辑框_按键等待"&i)
  7. 按键等待时间[i]=类型.转整型(按键等待时间[i])
  8. 按键间隔时间[i]=编辑框.获得文本("编辑框_按键间隔"&i)
  9. 按键间隔时间[i]=类型.转整型(按键间隔时间[i])
  10. 线程句柄[i]=线程.开启("测试.按键",i)
  11. 辅助.等待(100)
  12. endfor

  13. 功能结束


  14. 功能 初始化()
  15. 临界区句柄=线程.创建临界区()

  16. 功能结束


  17. 功能 按键(i)
  18. 循环(真)
  19. 辅助.等待(按键间隔时间[i])
  20. 线程.进入临界区(临界区句柄)
  21. 键盘.按键(111+i)
  22. 辅助.等待(按键等待时间[i])
  23. 线程.离开临界区(临界区句柄)
  24. 循环结束
  25. 功能结束



  26. 功能 退出_点击()
  27. for(i=1;i<=12;i++)
  28. 线程.关闭(线程句柄[i])
  29. 辅助.等待(100)
  30. endfor
  31. 辅助.退出()
  32. 功能结束

  33. 空间结束
复制代码


作者: ludocary    时间: 2013-11-4 13:14
谢谢楼上了,,不过正如版主说的,这个,貌似真的跟临界区没关系,,算法弄好就行了。。




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