我想创建一个执行此操作的 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 等)。