按钮摁下触发一个无限循环行为,再摁停止该行为,怎么写可以实现停止该行为?

2019-07-01 16:09:56 +08:00
 oldbird

类似这么个意思,怎么可以跳出这个无限循环?

3308 次点击
所在节点    Python
14 条回复
liuminyong
2019-07-01 16:16:38 +08:00
定义一个全局变量,再摁的时候改变变量值,循环里判断这个值停止
linmaoxe2v
2019-07-01 16:17:04 +08:00
对按钮计数,偶数清零停循坏,奇数循环。
zhuangjia
2019-07-01 16:17:14 +08:00
设置个标志位,每次循环就检测一下?
nvkou
2019-07-01 16:18:34 +08:00
循环内做变量检测。我觉得楼主想问的应该不是这个问题。你要解决啥?事件通知?
tabris17
2019-07-01 16:20:51 +08:00
粗暴解决的话循环放在新进程里,停止就 kill 掉进程
zjyl1994
2019-07-01 16:27:09 +08:00
全局变量整个标识啦,比如 bool running=true
无限循环得时候 while ( running ){}
等你要停的时候 running=false 那边自然就停了
dongrenwen
2019-07-01 16:30:00 +08:00
break
kaneg
2019-07-01 16:32:15 +08:00
需要两个独立的线程,一个负责干活,一个负责处理 UI,在 UI 线程里负责侦听按钮事件然后来控制干活的线程,比如用一个 isRunning 变量,或者用线程的 interrupt 方式
moxiaonai
2019-07-01 16:35:15 +08:00
setInterval clearInterval
Kumius
2019-07-01 16:41:16 +08:00
该行为运行很快,标志位即可;
该行为非常耗时,多线程 & kill ;
fyxtc
2019-07-01 16:47:41 +08:00
timer
egfegdfr
2019-07-01 17:08:21 +08:00
就怕,来不及点停止按钮,服务器就挂了
shawnsh
2019-07-01 17:20:18 +08:00
让线程优雅的停止?轮训状态位。线程可不能长时间阻塞啊
bb123
2019-07-01 17:33:50 +08:00
信号处理函数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/578989

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX