0
1

More than 3 years have passed since last update.

Python3でthreading処理終了後にis_alive()がFalseでなくエラーになる

Last updated at Posted at 2020-04-28

Threadingのis_alive()関数でエラー

2to3 を使ってPythonでソースを移行していた所

if not self.thread.is_alive():

という分岐でエラーが出る様になった。
処理終了後に
2では問題なく False が返ってくる。
3では何故か False ではなく下記エラーになってしまう。。。

Exception has occurred: TypeError
'bool' object is not callable

解決法

def __init__ 内にて self._stop = False を宣言していたのが原因だった。
except KeyboardInterrupt: の処理として self._stop = True にする様に書いただけだったので、run()内では不変の筈なんだけどなぁ。。。
解決したものの、詳しい原因が理解できていないので保留。
わかる方いたら教えていただけると助かります

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1