2011-04-14 7 views
7

나는 ThreadPool.QueueUserWorkItem()을 사용하고 있습니다. MSDN에서 대기열에 실패하면 FALSE를 반환 할 수 있습니다. 그럼 어떻게 반응해야합니까? 잠깐 기다렸다가 다시 대기열에 넣으십시오. 그러면 풀의 스레드가 사용 가능할 것입니다.ThreadPool.QueueUserWorkItem()이 FALSE를 반환하면 어떻게 대응해야합니까?

+0

큐잉에 실패하면 false를 반환하지 않습니다. 그것은 NotSupportedException을 던집니다. –

+2

+1 좋은 질문입니다. 메서드가 성공적으로 대기 중이면 MSDN 상태가 true입니다. 작업 항목을 대기열에 넣을 수 없으면 NotSupportedException이 발생합니다. ' 그래서'false'가 반환 될지 궁금합니다. – jgauffin

+1

나는 그것을 이해한다 : 스레드 풀링의 개념이 플랫폼에서 지원되지 않는다면 NotSupportedException을 던지고있다. 다만, 지원되고 있지만 thread를 큐 할 수없는 경우는 false를 돌려줍니다. – Krumelur

답변

5

게임이 끝났습니다. 무슨 일이 있었는지 사용자에게 알리고 앱을 종료하십시오.

2

false를 반환하지 않을 가능성이 있습니다 (여기를 참조하십시오 : When ThreadPool.QueueUserWorkItem returns false). 그렇지 않으면 실패로 간주하고 다시 시도하지 마십시오.

일반적으로 NotSupportedException이 표시됩니다.

관련 문제