主たる課題は、データ または他のリソースを共有 調整スレッドです。その目的のために、 スレッドモジュールは、 ロック、イベント、条件変数、 およびセマフォを含む 同期プリミティブの数を提供します。Queue.Queue
これらのツールは強力ですが、 という小さなエラーが発生すると、再現が困難な という問題が発生する可能性があります。したがって、 タスク タスクの優先アプローチは、 スレッドのリソースにすべてのアクセスを集中させてから、キューモジュール を使用して、 他のスレッドからの要求でそのスレッドにフィードすることです。 を使用するアプリケーションスレッド間のキューQueue.Queueオブジェクト 通信と調整は、より簡単に設計でき、より読みやすく、 信頼性が高いです。
それは、基本的には、スレッド間通信と調整のためQueue.Queueを使用することを述べて、代わりになど、セマフォ、ロック、などの強力なツールの
私の質問はの欠点何であり、提案された方法?代わりに、より強力なツールを使用する必要があります。その理由は何ですか?
編集
明確にするために、私は、セマフォが何であるかを知っています。私はPythonのドキュメンテーションがなぜ "強力なツール"の代わりにQueue.Queueメソッドを使うことを示唆しているのか不思議に思っていました - 私は単にドキュメント自身の言い回しを使用しています。
質問を簡単にするだけで、セマフォーは何ですか? – aqua
どのようにそれが明確化の質問であるか分かりませんが、はい、私は彼らが何であるか知っています。 – Sev
私は、あなたが使った「強力な方法」という言葉は、方法ではないので少し投げたと思います。ドキュメントは、ツールとしてそれらの名前を付けるのはかなり正しいです。 – aqua