の一貫性のない状態の結果として、スレッド化エラーが発生しているようです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 を取得しており、Listviaのコピーを作成してから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)
この件について何か考えはありますか?