Page History
...
쉬운 이해를 위해, 네트워크 모델을 제거하고 단일 PC에서의 차이를 살펴보겠습니다.
concurrency
...
동시성의 경우 본질적으로 , 본질적으로 작업이 동시에 실행되지는 않습니다. 작업이 작은 단위로 조각이 난상태로
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
Task task1; Task task2; Task task3; task1.Start(); task2.Start(); task3.Start(); //물론 이 코드는, 실행 최적화에의해 다중코어로 병렬처리가 될수 있습니다. //Task의 개수가 코어개수를 초과했을시 설명이 가능합니다. |
Parallelism
...
병렬처리의 경우 작업을 명시적으로 여러개의 물리(코어)적 연산 장치에의하여 동시에 처리하는 방식입니다.
...
| Code Block | ||
|---|---|---|
| ||
//병렬처리를 위한 멀티 코어 프로그래밍 예
Thread[] threads = new Thread[NumOfThread];
출처: http://hsj0511.tistory.com/353 [방랑이 ...]
Process currentProcess = Process.GetCurrentProcess();
foreach (ProcessThread processThread in currentProcess.Threads)
{
processThread.ProcessorAffinity = currentProcess.ProcessorAffinity;
}
for (int i = 0; i < NumOfThread; i++)
{
threads[i].Join();
}
}
//쓰레드 개수가 CORE수를 넘었을때는, 완전한 형태의 병렬처리가 아닐수도 있습니다. |
