由于我的IEnumerable
. 具体来说,List<T>
。
这是我的工作流程:
List<string> IDs = getIDs();
RunTask(IDs);
RunTask(IDs);
public void RunTask(List<string> IDs)
{
TaskScheduler scheduler = new TaskScheduler();
TaskFactory factory = new TaskFactory(scheduler);
var tasks = IDs.Select(name => factory.StartNew(() => action(name))).ToArray();
Task.WaitAll(tasks);
}
我在WaitAll()
通话中遇到一般性错误。
我的想法是我得到了某种不同步的 IEnumerator,我需要复制我的List
via Array.CopyTo()
,然后将它传递给我的多个线程。
这是我的例外:
Error: One or more errors occurred.
One or more errors occurred.
at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout)
at System.Threading.Tasks.Task.WaitAll(Task[] tasks)
对这个问题有什么想法吗?