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