Versions Compared

Key

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

...

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

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(); 
}
}
//명시적으로 특정 Task를 독립적인 물리적으로 처리가능한 단위(CPU Core)에게 명시적 작업을 위임했을때 완전한 형태의 병렬처리임 ( Task수는 Core개수를 넘지 않는 조건)


 주어진 시간에 작업을 스레드 스케쥴링에의해 블락킹없이 동시에 처리하느냐(동시성)?  

...