これはthreading.pyモジュールのコードです:
import sys as _sys
class Thread(_Verbose):
def _bootstrap_inner(self):
# some code
# If sys.stderr is no more (most likely from interpreter
# shutdown) use self._stderr. Otherwise still use sys (as in
# _sys) in case sys.stderr was redefined since the creation of
# self.
if _sys:
_sys.stderr.write("Exception in thread %s:\n%s\n" %
(self.name, _format_exc()))
else:
# some code
役立つかもしれません。表示されるエラーは、else
ステートメントから発生します。だからあなたの場合:
import sys as _sys
while True:
if not _sys:
break/return/die/whatever
do_something()
time.sleep(interval)
ただし、機能するかどうかはわかりません(インタープリターのシャットダウンが内部で発生する可能性があるdo_something
ため、おそらくすべてをラップする必要があることに注意してくださいtry:except:
)。
デーモン スレッドは必ずしも悪いものではありません。開発プロセスを確実に高速化できます。あなたは彼らに注意する必要があります。