私は現在、中央ロジック クラスを起動するプロジェクトを持っています (他の .dll を使用してハードウェアをチェックしたり、データベースに接続したりします)。その後、WPF フォームが開始されます。このフォームは、セントラル ロジックの情報を使用します。
現在、アプリケーションは次のように開始されています。
public void StartTheWholeBunch()
{
Thread thread = new Thread(() =>
{
applicationLogic = new ApplicationLogic();
Application app = new Application();
app.Run(new MainWindow(applicationLogic));
});
thread.IsBackground = true;
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
MainWindow は、私が使用したい 2 つの WPF アプリケーションの 1 つです。そのため、2 番目の 1 つは後の段階で楽しいことに参加します。
現在のセットアップは機能しています。すべてが相互に通信し、問題はありません。Thread
これの使い方が正しいかどうか疑問に思っていました。スレッドから除外するapplicationLogic = new ApplicationLogic();
と、問題が発生する可能性があります (たとえば、MessageBox ポップアップを作成すると、アプリケーション全体がここでフリーズします)。
ここですべてを 1 つのスレッドに保持する必要がありますか? それとも、すべてを分割したり、スレッドプールを作成したりすることをお勧めしますか? どうすれば最善の方法でアプローチできますか?