GILのため、マルチスレッドのPythonコードではロックが不要ですか?

GILのため、マルチスレッドのPythonコードではロックが不要ですか?

グローバルインタープリタロック(すなわちCPython)を備え、マルチスレッドコードを書くPythonの実装に頼っているのであれば、本当にロックが必要ですか? GILが複数の命令を並行して実行できない場合、共有するデータを保護する必要はありませんか? 申し訳ありませんが、これは愚かな疑問ですが、マルチプロセッサ/コアマシン上で私がいつもPythonについて疑問に思っていたことです。 同じ…


Pythonはマルチプロセッサ/マルチコアプログラミングをサポートしていますか?

マルチプロセッサプログラミングとマルチコアプログラミングの違いは何ですか? 好ましくは、マルチプログラミングとマルチコアプログラミングのための小さなプログラムを書く方法…


並列プログラミングとC++

私は最近パラレル・コンピューティングとプログラミングについて多くのことを書いてきましたが、パラレル・コンピューティングに関しては多くのパターンが出てきていることに気付きました。 マイクロソフトは既にMicrosoft Visual C++ 2010 Community Technical Preview(Parallel Patterns Library)と共にライブラリをリリースしたことを銘…


concurrency - パラレル/コンカレント・アーキテクチャの使用を促進するために、どのような課題がありますか?

stackless pythonやerlangのような並列性/並行性を備えた言語を使用する可能性が非常に喜んでおり、あまりにも長く前にその方向に移動しなければならないという確信を持っています。それはスケーラビリティとパフォーマンスに到達する良い/簡単な方法になります。 しかし、私は、リニア/シリアル/ OOP/機能的な方法でソリューションを考えるのに慣れているので、私のドメインの問題を同時実…


multithreading - Erlangプロセスはどのようにカーネルスレッドにマッピングされますか?

Erlangは、多くの軽量プロセスをサポートできることで知られています。 これは、これが従来の意味でのプロセスではなく、Pスレッドのようなスレッドでもスレッド全体がユーザー空間にあるためである。 これはうまくいい(実際には素晴らしい)。 しかし、Erlangスレッドはマルチコア/マルチプロセッサ環境でどのように並行して実行されますか? 確かに別のコアで実行されるためには、何とかカーネルスレッ…


python - マルチプロセッシングまたはマルチスレッド?

私は、wxPythonインターフェイスを使って、Pythonでシミュレーションを実行するためのプログラムを作っています。 プログラムでは、シミュレーションを作成することができ、プログラムはレンダリング(=計算)します。 レンダリングは非常に時間がかかることがあります。 ユーザーがシミュレーションを開始し、初期状態を定義すると、ユーザーがプログラム内でさまざまなことを行っている間、プログラムはバ…


Python、クロスプラットフォームでプロセスの優先度を変更する

私は時間のかかる計算を行うPythonプログラムを持っています。 CPU使用率が高いので、システムの応答性を維持したいので、プログラムの優先度を通常より低いものに変更したいと思います。 私はこれを発見した: Windowsのプロセス優先度を設定する-ActiveState しかし、私はクロスプラットフォームのソリューションを探しています。…


language agnostic - 並行性と並列性の違いは何ですか?

並行性と並列性の違いは何ですか? 例が分かります。…



複数のPythonマルチプロセッシング・キューで「選択」しますか?

どのシステムが同じシステム上にある2つの(マルチプロセッシング) Queuesいずれかで何かが利用可能になるまで待つ最善の方法は何ですか?…


マルチプロセスやPythonでのスレッド化?

私はデータのコレクションをつかむpythonアプリケーションを持っていて、そのコレクションの各データについて、それはタスクを実行します。 タスクには遅延が伴うので、完了には時間がかかります。 この遅延のため、後で各データにタスクを実行させたくないので、それらをすべて並行して実行してください。 マルチプロセスを使用すべきですか? またはこの操作のためのスレッド化? 私はスレッドを使用しようとしま…




並列処理 python 使い方 スレッド multiprocessing 並列 joblib 違い thread 処理