コルーチンは、並行プログラミングを容易にするための大きなパラダイムです。そして、ほとんどの場合、並行タスクは容易に並列化できます。 Go言語では、並列タスクを実行するためにgoroutinesを使用するのは簡単です。 Pythonで同じことをする方法はありますか?コルーチンを使ってプロセスを作成し、それらを同期させるには?Pythonのコルーチンによる並列プログラミング
5
A
答えて
3
はい、Pythonはライブラリやコジェネレータのコルーチンをサポートしています。例えば、Greenletライブラリを参照してください。また、マイクロスレッドやチャネルなどのいくつかの並行プログラミング機能を内蔵しているStackless Pythonという派生語もあります。
デフォルトのCPythonでは、グローバルインタープリタロックは1つのスレッドを一度に実行することを許可しますが、これは問題の可能性があります。
2
標準のPythonインタプリタを使用する場合は、greenletライブラリを使用します。
GILについては、コルーチンでは問題にはなりません。あなたは、1つのカーネルスレッド内で実行される複数の軽量ユーザー空間「スレッド」として、Greenletコルーチンモデルを考えることができます。だからGILとOSの観点からは、それはまだシングルスレッドです。
関連する問題
- 1. 並列プログラミングTPL
- 2. Common Lisp並列プログラミング
- 3. 並列プログラミングで始める
- 4. Mathematicaでの並列プログラミング
- 5. Tomcat Webアプリケーションの並列プログラミング
- 6. PythonとRubyでのWebプログラミングのコルーチンまたは継続。何故なの?
- 7. ロボット制御のための並列プログラミング
- 8. GPUを使用した並列プログラミングR
- 9. 非同期プログラミングと比較した並列プログラミング
- 10. R - 並行プログラミング
- 11. Python配列質問(プログラミング)
- 12. Pythonでの並列SSH
- 13. 決定的に見える並列プログラミング言語?
- 14. 並列Python - 並列実行で別のクラスにオブジェクトを作成する
- 15. 計算ノードへのパスをエクスポートする方法、並列プログラミング
- 16. Python - csvで列を並べ替える
- 17. 並列プログラミングとマルチコアプログラミングの違いは何ですか?
- 18. 並列処理のためのPythonマルチプロセッシング
- 19. Pythonでの並列起動による関数の変数の扱い
- 20. Pythonの並列処理のより良い例
- 21. 並列処理用のPythonファブリック
- 22. コルーチンは、Java
- 23. Amazon CloudプログラミングによるJavaのプログラミング
- 24. Pythonの抽象プログラミング
- 25. Sphinxオートドックを使用したPythonコルーチンの文書化
- 26. Python GUIプログラミング
- 27. リストを列挙するためのPythonの良いプログラミング練習
- 28. Pythonでネストされた並列処理
- 29. このPython for-loopをどのように並列化できますか?
- 30. スレッドセーフなコルーチンとasio