web-dev-qa-db-ja.com

python 3でthread.start_new_threadに何が起こったのか

クラスを定義するための不要な行なしで関数をスレッドに変換する機能が気に入りました。 _threadについては知っていますが、_threadを使用することは想定されていないようです。 python 3のthread.start_new_threadに相当するグッドプラクティスはありますか?

22
lemiant
threading.Thread(target=some_callable_function).start()

または、引数を渡したい場合は、

threading.Thread(target=some_callable_function,
        args=(Tuple, of, args),
        kwargs={'dict': 'of', 'keyword': 'args'},
    ).start()
34
Amber

残念ながら、直接同等のものはありません。Python 3はPython 2よりも移植性が高いことを意味し、__thread_インターフェースもこの目的のための低レベル。

Python 3では、通常、ベストプラクティスは threading.Thread(target=f...) を使用することです。これは異なるセマンティクスを使用しますが、インターフェイスの移植が容易なため、推奨されますその他のPython実装。

5
Jeremy Banks