TC官方合作论坛

 找回密码
 立即注册
查看: 271|回复: 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个个测试

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

回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2017-10-19 22:52:31 | 只看该作者

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

使用道具 举报

6#
发表于 2017-10-20 10:37:25 | 只看该作者

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

使用道具 举报

7#
发表于 2017-10-20 10:39:36 | 只看该作者


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

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-19 08:19 , Processed in 0.205344 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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