我想从一个站点抓取数据,因此,因为速度对于我的项目很重要,所以我必须并行运行任务。我有这样的方法:
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)。 问题出在哪里?