C#并行执行许多长期运行的任务

时间:2018-09-14 07:21:07

标签: c# task-parallel-library

我想从一个站点抓取数据,因此,因为速度对于我的项目很重要,所以我必须并行运行任务。我有这样的方法:

public void UpdateData(List<string> myList)
{
    while(true)
    { 
      ...
      ...
    }
}

我想使用与buttonClick事件不同的参数调用该方法,所以我使用了以下代码:

var uiContext = TaskScheduler.FromCurrentSynchronizationContext();
var task1 = Task.Factory.StartNew(() => UpdateData(myList1), CancellationToken.None, TaskCreationOptions.LongRunning, uiContext); 
var task2 = Task.Factory.StartNew(() => UpdateData(myList2), CancellationToken.None, TaskCreationOptions.LongRunning, uiContext);

结果是在第一次调用任务后,只有第一个任务继续更新参数(myList1)。 问题出在哪里?

0 个答案:

没有答案