TC官方合作论坛

 找回密码
 立即注册
查看: 1684|回复: 6

[已解决] 求解 while 循环无法在主线程使用吗?

[复制链接]
发表于 2017-10-19 20:59:48 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 hantianxue 于 2017-10-19 21:46 编辑
  1. function 测试循环()
  2.     var n=0
  3.     while(true)
  4.         n++
  5.         if(n>1000)
  6.             break
  7.         end
  8.         编辑框设置文本("编辑框1",n)//为了能看到运行状态,建立一个编辑框显示n的值
  9.         sleep(500)
  10.     end
  11.     messagebox("循环停止")
  12. end

  13. function 按钮1_点击()
  14.     测试循环()
  15. end
复制代码



这样的循环代码直接写在主线程里,不启用多线程的方式,直接用按钮1点击来调用,
可是,在运行中,点击了按钮1,程序直接无响应了,
难道while循环无法在主线程使用?

回复

使用道具 举报

发表于 2017-10-19 21:55:46 | 显示全部楼层
等待(500,假)
回复 支持 反对

使用道具 举报

发表于 2017-10-19 21:47:48 | 显示全部楼层

循环
遍历
等待

这3个 都要用线程开启

想知道为什么自己1个个测试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 22:50:29 | 显示全部楼层


循环
遍历
等待

这3个 都要用线程开启

想知道为什么自己1个个测试

刚刚翻了翻之前的教程,已经明白了,
主线程本身是在无限循环的,
如果在主线程加入死循环,或者长时间等待,之类的
会吧主线程的循环阻塞,造成程序无响应。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 22:52:31 | 显示全部楼层

感谢,
用“等待(XX,假)”,非阻塞方法,
就可以正常运行了。
回复 支持 反对

使用道具 举报

发表于 2017-10-20 10:37:25 | 显示全部楼层

等待(500,假)
回复 支持 反对

使用道具 举报

发表于 2017-10-20 10:39:36 | 显示全部楼层


等待(500,假)  等待(500,假)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-6-14 14:23 , Processed in 0.036577 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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