비교합니까, 뭔가에 있었다 foreach 루프를 사용하여 현재 코드에서 mainList에 32 개의리스트가 있습니다.스레딩 및 목록, 어떻게 각각의 통과와 내가 다른 목록에 비교하는 중첩 된 목록을 끌어하기 위해 스레드를 사용하기 위해 노력하고있어
foreach(var item in mainList)
{
if(item.key == "unRead")
{
foreach(var subItem in item.value) // evt do a List<string> temp = item.value first
{
foreach(var compItem in compareList)
{
if(compItem == subItem) resList.Add(compItem);
}
}
item.remove(); // I actualy wanted to change from unRead to read, but I figured I could just remove it from the list.
}
}
이것은 내가 스레드를 사용하고 10 무언가의 최대 스레드 양 EVT seperat 스레드에서 각 목록을 통해 갈 경우 패스트을 할 수 있어야합니다. 그래서 제가 시도한 것은 이것을하고있었습니다.
foreach(var item in mainList)
{
Thread myThread = new Thread(() =>
{
if(item.key == "unRead")
{
foreach(var subItem in item.value) // evt do a List<string> temp = item.value first
{
foreach(var compItem in compareList)
{
if(compItem == subItem) resList.Add(compItem);
}
}
item.remove(); // I actualy wanted to change from unRead to read, but I figured I could just remove it from the list.
}
});
myThread.start();
}
그러나 이것은 전혀 예상 출력을 제공 dident ...
그래서 내가 잘못 뭐하는 거지?
예상 결과가 어떻게 보이는지, 현재 결과는 무엇인지 구체적으로 적어주십시오. – nozzleman
아니면 그냥 속도를 올리는 것입니까? – nozzleman
'resList'는 다중 스레드에서 수정되기 때문에 잠겨 야합니다. –