2017-12-26 33 views
1

学校プロジェクトとして、httpサーバを実装する必要がありましたので、私は既存のhttpサーバアーキテクチャを見ていました。私はworker Multi-Processing Moduleを訪れました。なぜマルチスレッドとマルチプロセッシングが組み合わされるのですか?

このモジュールはハイブリッドマルチスレッドマルチプロセスサーバーを実装しています。このサーバーは、フォークし、各フォークされたプロセスが要求を処理する独自のスレッドプールを生成します。

私は、マルチスレッド専用プログラムに比べてハイブリッドマルチプロセスマルチスレッドプログラムの利点は何ですか?単一のプロセスを維持し、より大きなスレッドプールを生成するのはなぜでしょうか?

答えて

3

入手可能地域

あなたのプログラムには初期の欠陥があります。したがって、M個のスレッドで1つのインスタンスをクラッシュさせてN * M個のスレッドでクラッシュさせる方が良いです。 (N-1)* M個の他のスレッドが継続して動作する可能性があり、クラッシュする可能性を減らした可能性があります。

これはリソースリークに対処するための技術としても導入されています。つまり、N個のトランザクションを処理した後、サーバーの「exec」自体がリソースのクリーンアップを引き起こします。私はかなり確信しているThompson &リッチーはexecのユースケースとしてそれを予期していなかった....

関連する問題