1

私は現在、中央ロジック クラスを起動するプロジェクトを持っています (他の .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 つのスレッドに保持する必要がありますか? それとも、すべてを分割したり、スレッドプールを作成したりすることをお勧めしますか? どうすれば最善の方法でアプローチできますか?

4

1 に答える 1