如何终止Python死循环线程

我遇到的问题是这样的:如果我定义了一个死循环线程我该如何终止它?我发现用全局变量的方法根本不好使,pyscript的断点也打不到线程里面。这货停不下来了......我不希... 我遇到的问题是这样的:如果我定义了一个死循环线程我该如何终止它?我发现用全局变量的方法根本不好使,pyscript的断点也打不到线程里面。这货停不下来了......
我不希望通过ctrl+c终止 而是希望程序能通过判断将它终止,或者有什么牛逼的方法直接把它干掉,不顾一切的干掉......
展开
 我来答
老夭来了
推荐于2016-11-05 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
采纳数:1806 获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。

向TA提问 私信TA
展开全部
import time
import thread

LOCK = True

def timer(no, interval):
    while LOCK:
        print 'y'

def test():
    thread.start_new_thread(timer, (1, 1))
    time.sleep(5)
    global LOCK
    LOCK = False
    time.sleep(5)

if __name__ == '__main__':
    test()

可以使用全局变量的,因为线程是共用上下文变量的。


如果解决了您的问题请采纳!

如果未解决请继续追问

追问
global LOCK是什么意思 为什么要加这句 直接LOCK = False不行么?
追答
LOCK = False
只是定义了一个局部变量叫LOCK,并没有修改全局变量
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式