Page History
...
하나의 Task에대한 성능을 높이기보다,제한된 자원으로 전체적인 총량에 대한 처리에대해 효율을 높이는데 의미가 있습니다.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Task task1; Task task2; Task task3; //작업 3개가 동시에 시작합니다. task1.Start(); task2.Start(); task3.Start(); |
...
가용한(풍부한) 자원을 바탕으로, 여러가지 작업을 한꺼번에 수행할수가 있습니다.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
//병렬처리를 위한 멀티 코어 프로그래밍 예 Thread[] threads = new Thread[NumOfThread]; Process currentProcess = Process.GetCurrentProcess(); foreach (ProcessThread processThread in currentProcess.Threads) { processThread.ProcessorAffinity = currentProcess.ProcessorAffinity; } //물리적단위인 Core(process) 에 Task를 명시적으로 걸고 동시에 시작해버립니다. for (int i = 0; i < NumOfThread; i++) { threads[i].Join(); } } |
...