2017-09-09 1 views
0

imはPyCasterのguiをビルドしています。私はguiから変更を加えてソケットスレッドに適用する必要があります。私のスレッドの理解は、いったん開始されると、すべてのオブジェクトインスタンスを含むスレッドにローカルになります。ソケットスレッドは、time.sleepを使用して0.1(ミリ秒と仮定)ごとにスリープします。スレッドソケットには、GUIによって表示されるイベントがあります。とにかくそれとは反対のことはありますか?私がデータを渡すことができるようにスレッドによって見られる意味イベントが発生しました。オブジェクトをスレッドとwxのpythonで共有できますが、データを同期させたままにすることはできますか?

答えて

0

複数のスレッド間で情報を渡すために、PythonのQueue同期プリミティブのようなものを使用することを検討しましたか?

main.pyファイルのQueueオブジェクトをインスタンス化し、このキューのインスタンスを複数の子スレッドに渡します。あなたのGUIスレッドは、新しいイベントをそのqueueインスタンスにプッシュし、2番目の非GUIスレッドは常にqueue.get()を呼び出してから、queue.get()がNoneでないときに実行する必要があるものを実行しようとします。

queueクラスの公式ドキュメントは、https://docs.python.org/3.6/library/queue.htmlでご覧いただけます。下部にはまともな例があります。

こちらがお役に立てば幸いです。

関連する問題