Versions Compared

Key

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

...

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

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(); 
}
}

http://blog.lgcns.com/1084


Anchor
Synchronous vs Asynchronous
Synchronous vs Asynchronous

...

문제가 발생하면 후 조취로 무분별한 Lock / 전역 예외등 주로 개발코드의 품질이 나빠지는 케이스로 연결됩니다.

...

Actor는 속성공유를 기본으로 하지 않는 개발패턴이여서 동시성 프로그래밍 흐름에 부적절한 키워드인 Lock을 사용하지 않아도됩니다. 

스레드 처리 모델중 하나인 세마포어를 통해 여러개의 태스크를 안정적이고 빠른 코드로 실행하는 코드를 작성해보고 Actor가 왜 복잡한 스레드 모델이 필요없는지?

실습코드 작성예정입니다.

...