독립된 (즉, 다른 메모리 주소에서 쓰기) N 작업이 있지만 완료하는 데 정확히 동일한 시간이 필요하지 않습니다 (말하면 2 ~ 10 초). P 스레드가 있습니다.다중 스레딩 독립 작업
내 N 개의 작업을 P 개의 스레드로 나눌 수 있으며 스레드를 시작할 수 있습니다. 궁극적으로 마지막에는 마지막 몇 가지 작업을 완료하기 위해 하나의 스레드가 남게되며 이는 최적이 아닙니다.
각각 1 개의 작업, WaitForMultipleObjects 및 P 스레드 등을 실행하여 P 스레드를 시작할 수도 있습니다. 스레드 생성의 오버 헤드가 작업에 비해 작기 때문에 현재 수행하고있는 작업입니다. 그러나 이것은 문제를 해결하지 못한다. P-1 스레드가 어느 시점에서 마지막 스레드를 기다리고있을 것이다.
스레드를 시작하는 방법이 있습니까? 스레드가 작업을 마자 마자 모든 작업이 완료 될 때까지 다음 사용 가능한 작업으로 이동 하시겠습니까?
감사합니다.
당신도 알다시피, 당신은 아마 이것을 직접 해보려고하지 않을 것입니다. 동시 알고리즘/구조를 빠르고 정확하게 만드는 것은 소리보다 어렵습니다. [Intel 's TBB] (http://threadingbuildingblocks.org/)를 확인하십시오. – GManNickG