【问题标题】:Is it good practice to exit a thread manually in python?在python中手动退出线程是一种好习惯吗?
【发布时间】:2017-01-14 01:04:50
【问题描述】:

手动退出线程是个好习惯吗?下面的代码已注释 #sys.exit() 因为我假设线程在那里结束。但无论如何结束它是一种好习惯吗?如果没有,如果该线程被调用数百次而没有使用 sys.exit() 手动退出,是否会产生任何开销?

import time
import threading
import sys

def non_daemon():
    print('Test non-daemon')
    time.sleep(5)
    #sys.exit() # is this necessary/encouraged?

t = threading.Thread(name='non-daemon', target=non_daemon)
t.start()

print("done")

【问题讨论】:

    标签: python multithreading


    【解决方案1】:

    sys.exit() 与线程无关。正如the docs 解释的那样,它仅在从主线程调用时才有效。在所有其他情况下,它所做的只是引发异常。绝对没有理由在线程中调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-01
      • 2012-08-22
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      相关资源
      最近更新 更多