首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法在主程序终止时使用thread.setDaemon(True)终止子线程

无法在主程序终止时使用thread.setDaemon(True)终止子线程
EN

Stack Overflow用户
提问于 2016-01-28 12:24:23
回答 3查看 425关注 0票数 0

File one sravi.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def sam():
    while True:
        print "HI"

主程序/文件trial.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from threading import Thread
import sravi
x=Thread(target=sravi.sam)
#x.setDaemon(True)
#x.Daemon=True
x.start()

我希望打印" HI“在我的主线程结束后停止,但它继续打印HI。我尝试过x.setDaemon(True)和x.Daemon=True,但它不起作用。我知道以前有人问过这样的问题,但我想不出解决办法。

-o/p

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>
>>>Hi
Hi
Hi
Hi
Hi
Hi
Hi

它会继续打印hi

EN

回答 3

Stack Overflow用户

发布于 2016-01-28 12:41:52

如果为x.setDaemon(True),则线程x在主线程结束时终止。

要证明这一点,请使用以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from threading import Thread
def sam():
    while True:
    print "HI"


x=Thread(target=sam)
x.setDaemon(True)
x.start()
time.sleep(2)

您将看到,两秒钟后,sam函数将停止打印"hi“。

票数 0
EN

Stack Overflow用户

发布于 2016-01-29 07:49:21

File one sravi.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time

def sam(event):
    while event.is_set():
        print "hi"

主程序/文件trial.py

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import threading 
import sravi
import time
event=threading.Event()
event.set()
x=threading.Thread(target=sravi.sam,args=(event,))
x.start()
time.sleep(0.1)
event.clear()

主线程结束后,子线程停止执行

票数 0
EN

Stack Overflow用户

发布于 2016-01-29 08:07:17

test.py:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from threading import Thread
import sravi
x=Thread(target=sravi.sam)
x.daemon=True
x.start()

sravi.py:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def sam():
  while True:
    print "Hi"

当您运行python test.py时,在退出之前可能会打印出任何数量的"Hi“行。这只是因为执行线程的确切交织是未定义的。不能保证你只会得到一个"Hi“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35061410

复制
相关文章

相似问题

Oracle SQL数值查找10个字符

10

如何使用PROC SQL查找数值变量的长度

34

用于跨多列查找多数值的SQL

31

在SQL中查找特定值的具体数值

111

在SQL中使用按位逻辑查找整数值

14
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文