Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

쉬운 이해를 위해, 네트워크 모델을 제거하고 단일 PC에서의 차이를 살펴보겠습니다.


concurrency

...


동시성의 경우 본질적으로 ,  본질적으로 작업이 동시에 실행되지는 않습니다. 작업이 작은 단위로 조각이 난상태로 

...

Code Block
languagec#
linenumberstrue
Task task1;
Task task2;
Task task3;


task1.Start();
task2.Start();
task3.Start();
//물론 이 코드는, 실행 최적화에의해 다중코어로 병렬처리가 될수 있습니다. 
//Task의 개수가 코어개수를 초과했을시 설명이 가능합니다.


Parallelism

...


병렬처리의 경우 작업을 명시적으로 여러개의 물리(코어)적 연산 장치에의하여 동시에 처리하는 방식입니다.

...

Code Block
languagec#
//병렬처리를 위한 멀티 코어 프로그래밍 예 


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수를 넘었을때는, 완전한 형태의 병렬처리가 아닐수도 있습니다.