子スレッドから親IDまたは名前を取得する方法を探しています。 例では、MainThreadとしてメインスレッドがあります。このスレッドで私はいくつかの新しいスレッドを作成します。次に、私はthreading.enumerate()
を使って、実行中のすべてのスレッドへの参照を取得し、子スレッドの1つを選択し、何らかの形でMainThreadのIDまたは名前を取得します。それを行う方法はありますか?Pythonスレッド - 親ID /名前を取得する方法
4
A
答えて
3
parent
を設定し、スレッドのサブクラスを作りますinitの属性:
from threading import current_thread
class MyThread(threading.Thread):
def __init__(self, *args, **kwargs):
self.parent = current_thread()
Thread.__init__(self, *args, **kwargs)
を次に、スレッドは、このクラスで始まっ内の仕事をしながら、私たちは産卵Threadオブジェクトを取得するにはcurrent_thread().parent
にアクセスすることができます。
1
あなたは子スレッドの親スレッドへの参照を持っている...そして、それはあなたが作成上の子スレッドにMainThreadの名前を渡すこともできますID
1
だ得ることができます。
別のオプション、あなたはクラスで作業している場合は、子スレッドがMainThreadのクラスからメソッドを指すの目標を持つことである。
class MainThread:
name = "MainThreadName"
def child_thread_run(self):
print self.name # Will print "MainThreadName", even from a child thread
def run(self):
child = threading.Thread(target=self.child_thread_run)
child.start()
関連する問題
- 1. データストア - ID /名前値の取得方法
- 2. すべての親の名前を取得する方法
- 3. ポストプロセッサから親コントローラの名前を取得する方法
- 4. DNNの親ページの名前とリンクを取得する方法
- 5. .NET親スレッドIDを取得する方法はありますか?
- 6. jquery取得する方法親の名前
- 7. Google DataStore - ID /名前でデータを取得する方法
- 8. sqlのidでグループから名前を取得する方法
- 9. SurveyMonkeyで調査IDを名前で取得する方法
- 10. viewcontrollerのストーリーボードID /名前を取得する方法
- 11. IDの頂点を名前で取得する方法は?
- 12. マーカーの名前またはIDを取得する方法
- 13. odooで保存する前に親のIDを取得する方法
- 14. Python - ドライバの名前を取得する方法C:D:F:I:
- 15. codeigniterを使用してカテゴリidからカテゴリの結果の親の名前を取得する方法
- 16. 文書 - タグの名前を名前で取得する方法
- 17. 名前で語彙IDを取得
- 18. ボタンから名前/ IDを取得
- 19. 子を挿入するための親IDのIDを取得する方法
- 20. HTML親コンポーネントのIDを取得する方法?
- 21. Androidで親IDを取得する方法は?
- 22. jQueryで親IDをchidrenデータで取得する方法は?
- 23. アジャイルセントラルAPIで子の祖親オブジェクトIDを取得する方法
- 24. pygtk親ノードから名前でウィジェットを取得する
- 25. メッセンジャーボット:ID、名前、ユーザーのプロフィール画像を取得する方法url?
- 26. Jquery Tokeninput IDの代わりに名前を取得する方法
- 27. VB.NET〜httpwebrequest - httpwebrequestの間にフォーム要素のID /名前を取得する方法
- 28. 呼び出すバットスクリプトの名前を取得する方法
- 29. Javaでスレッド名を正しく取得する方法は?
- 30. 親DIVのIDを取得
私は好きです。この考え方には、いくつかの自己チェック可能性があります。親is_alive()でない場合は、mythread.parentをFalseを返すプロパティにすることができます。または、インスタンス属性 "parent"の代わりに "parent"というクラス属性を持つMainThreadChildクラスを作成して、このタイプのすべてのスレッドが基本的に特定のスレッドにバインドされることを期待してください。 – DevPlayer