Pythonの簡単なスレッドとコルーチンの例を詳しく解説
Jun 21, 2017 pm 04:49 PMPython のスレッドのサポートは確かに十分ではありませんが、Python には完全な非同期ネットワーク フレームワーク モジュールがあると言われています。将来的には、Python のスレッドの簡単な概要を示します
。別のスレッドで使用され、任意の Python 呼び出し可能オブジェクトを実行します。このモジュールはスレッド関連の操作を十分にサポートしていませんが、単純なスレッドを使用して I/O 操作を処理し、プログラムの応答時間を短縮することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
start 関数はスレッドの開始に使用され、_stop はスレッドの開始に使用されます。スレッドを停止するには関数を使用します。スレッドで I/O 操作を実行する際のブロックなどの問題を防ぐために、一定期間実行した後、スレッドがまだ生きているかどうかを判断できます。スレッドがまだ存在する場合は、_stop() を呼び出してスレッドを停止します。ブロックを防止します (_stop 関数をクラスにカプセル化できますが、ここではそれを行いませんでした)。
もちろん、スレッドを手動で作成する代わりに、ThreadPool スレッド プールを呼び出して処理することもできます。スレッド間で変数を共有する必要がない場合は、スレッドを使用すると非常に便利です。これにより、多くの面倒な操作が軽減され、時間を節約できます。スレッド間で通信する必要がある場合は、キューを使用してそれを実現できます:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
Queue インスタンスはすべてのスレッドで共有され、同時に必要なロックがすべて備わっているため、安全に使用できますスレッド内で共有される任意の数のスレッドによって。ここで注意してください。マルチスレッド環境では信頼性が低いため、マルチスレッドでは put() メソッドと get() メソッド以外のキュー クラス メソッドを使用しないでください。スレッド内での単純かつ少量のデータ通信には、キューを使用できます。大きなデータでインタラクティブな通信が必要な場合、Python は使用できる関連モジュールを提供します。具体的には、baidu が必要です。
いわゆるコルーチンは、実際にはシングルスレッド環境の yield プログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
ここで、Python は確かに優れていますが、そのパフォーマンスについても批判されている私が、この時期に使用した経験を共有したいと思います。 Python の自然言語処理を使用してセンチメント分析や最新のクローラー プログラムを実行したり、クールなデータ分析グラフを作成したりするなど、ハイエンドな機能が含まれています。プログラムの焦点はそれらにありません。基本的な構文を理解し、公式ドキュメントを理解していれば、プログラム コードの焦点はパフォーマンスと最適化にあるため、徐々にそれらを手放していきます。可能な限り、最も完全な機能、最高のパフォーマンス、最も美しい構造を備えたプログラムを作成する。これは実際、政治の先生がよく言う「文化的ソフトパワー」に似ています。プログラムには、最も適切な設計パターン、最も完全なプログラムの最適化、最もパフォーマンス効率の高いデータ構造などを組み込む必要があります
以上がPythonの簡単なスレッドとコルーチンの例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

C++ 同時プログラミング: スレッドの枯渇と優先順位の逆転を回避するには?
