1

これを行う WPF アプリケーションを作成したいと考えています。アプリケーションには 8 つのタスクが一緒に実行されます。各タスクは、メイン ウィンドウに表示されるテキスト ボックスにいくつかの文字列を追加できます。

すべてのタスクを同時に実行し、メインの UI スレッドで実行するにはどうすればよいですか?

(30/04/13:)

次のコードを参照してください。

private  void RunTasks(int ThreadsNumber)
    {           

        int Ratio = NumbersToCheck / ThreadsNumber;

        for (int i = 0; i < ThreadsNumber; i++)
        {
            Task.Run(() =>
                {
                    int counter = 0;
                    int low = Ratio * i;
                    int high = Ratio * (i + 1);

                    Dispatcher.Invoke(DispatcherPriority.Normal,
                                      (Action)(() =>
                                      {
                                          for (int j = low; j < high; j++)
                                          {
                                              if(IsPrime(j))
                                                  MessageList.Items.Add(j);

                                          }
                                      }));
                });                
        }

    }

MessageList はリストボックスです。このコードを実行すると、このリストボックスに追加された最小の素数が表示されないのはなぜですか? (3、5、7、11 など)。

4

1 に答える 1