2011-02-17 5 views
1

대기열 및 스레드 사용에 대한 몇 가지 질문이 있습니다. 나는 이미 연구를했지만 일반적인 기능을 이해하지 못합니다.문제점 이해 대기열, 병렬 처리 및 스레딩

내가 원하는 작업 : "mTask"라는 클래스가 있는데 여기에는 "StartmTask"라는 속성과 메서드가 있습니다. 새 mTask를 만들 때 List에 추가합니다.

그리고 목록에 mTask가있을 때 mTask를 처리하려고합니다. (컴퓨터의 각 무료 프로세서에서 작업을 시작해야합니다.)

나는 어떻게해야하는지 이해할 수 없다 ... 나는 이것이 "단순하다"고 생각하지만 실제로는 잃어버린 다. 누구든지 가능한 간단하게 설명 할 수 있습니까?

많은 정보를 제공해 주셔서 감사합니다. 정보가 충분하지 않거나 정보가 더 필요하면 주저하지 마십시오.

Yowan는

+0

http://stackoverflow.com/questions/3872992/how-do-we-do-idle-time-processing-in-wpf-application – spender

답변

0

나는 최고의 간단한 솔루션은 사용자가 반드시 준수해야 할 것 인 목록 대신 ThreadPool이에 mTask를 넣어하는 것 아마 생각합니다.

는 방법

ThreadPool.QueueUserWorkItem에서보세요

예 : 모든 설정없이

ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork),)mTask); 

private void DoWork(object o) 
{ 
    task = o; 
} 

당신이 그것을 사용하는 경우

가, 스레드가 모든 CPU에 할당됩니다. 당신은 그것에 대해 신경 쓸 필요가 없습니다.

+0

Thansk 그것이 작동하는 것처럼 보입니다. 나중에 확인하겠습니다.) – Yowan

+0

그것은 내가 생각하는 weel을 작동시킨다! 감사합니다;) – Yowan