이 포럼과 다른 사람들의 C# 멀티 스레드에 대한 많은 게시물을 검토 한 후에도 여전히 혼란스럽고 문제를 처리하는 데 어려움이 있습니다.스레드를 기다리는 C# 멀티 스레드 문제
각 정수의 함수를 실행하는 numThreads
개의 스레드 수를 documentIds
에 만들고 싶습니다. documentIds
은 Count = 100 인 List<int>
이며 documentIds
에있는 각 요소의 RestitchWorker.Restitch를 호출하려고합니다.
내가 현재 아래에 있지만 나는 5 개의 스레드를 계속 유지하고 100 개의 documentIds 목록을 통해 순환하는 방법에 대해 혼란 스럽다 ... 모든 도움을 받으실 수 있습니다.
for (int i = 0; i < documentIds.Count; i++)
{
if (threadCount < numThreads)
{
var Worker = new RestitchWorker(documentIds.ElementAt(i));
Thread t_restitchWorker = new Thread(() => Worker.Restitch());
threadCount++;
t_restitchWorker.Start();
t_restitchWorker.Join();
}
}
. 조인? 어떤 종류의 게시물을 읽고 있었습니까? (귀하의 연구 결과에 대한 링크를 추가하면 정확히 무엇이 도움이되는지 이해하는 데 도움이됩니다.) –
Parallel.ForEach (documentIds, new ParallelOptions {MaxDegreeOfParallelism = 5}, processDocumentId); – stuartd