Google Chrome と IE8 (とりわけ) は、各タブ (Web ページ) を個別のプロセスに分離することで、より高い信頼性/安定性を提供することを目指しています (単純化しすぎていることは承知しています)。
これは複数のスレッドよりもはるかに重いように見えますが、1 つのプロセスでクラッシュしてもアプリケーション全体がダウンしないという大きな利点があります。
複数プロセス アーキテクチャは、サーバー側アプリケーション (Web サーバーなど) で長い間使用されてきたようですが、これらは専用の GUI を持たないプロセスです。現在、デスクトップ アプリケーションのユーザー インターフェイスに採用されていることは興味深いことです。
Windows Forms .NET アプリケーションなどでこれを実装するにはどうすればよいでしょうか。それは可能ですか?
Process.Start() は明らかに最初に確認する場所ですが、新しいプロセスの GUI はホスト アプリケーションの GUI と緊密に統合されていません。Chrome/IE8 のように、ホスト アプリケーションのサブ コントロール/ウィンドウではなく、新しいスタンドアロン アプリケーションです。
(興味のある方は、Scott Hanselmann がIE8 のマルチプロセス アーキテクチャに関する優れた紹介をここに書いています。)
[アップデート]
すなわち:
別の「サブプロセス」を「メイン プロセス」内の UI に直接レンダリングするにはどうすればよいですか? これは実際に起こっていることですか、それともコメントで示唆されているように、サブプロセスは IPC を使用してメイン プロセスにレンダリングを依頼しますか?