프로세스와 쓰레드 프로세스(Process)는 실행 중인 프로그램의 추상화이며, 한 개 이상의 쓰레드(Thread)로 이루어집니다. 쓰레드는 프로세스의 실행 단위입니다. 프로세스와 쓰레드는 거의 비슷하지만 몇 가지 중요한 차이가 있습니다. 프로세스는 PCB(Process Control Block)에 프로세스의 정보를 저장하는 반면 쓰레드는 TCB(Threa...
동기화란 여러 프로세스가 공유 자원에 접근할 때 발생하는 문제를 해결하기 위한 기법입니다. 참고로 모든 동기화 관련된 내용은 프로세스뿐만 아니라 쓰레드에도 적용됩니다. 동기화는 크게 두 가지 종류가 있습니다. 상호 배제(Mutual exclusion)를 위한 동기화
모니터(Monitor)는 기존 mutex lock과 세마포어를 개선한 고급 동기화 기법이며, 상호 배제 및 실행 순서 제어를 위한 동기화를 지원합니다. 상호 배제는 mutex lock을 통해 지원합니다. 실행 순서 제어는 한 개 이상의 조건 변수(condition
데드락(Deadlock)은 서로가 서로의 작업이 끝나기를 기다리며 무한정 대기하는 상태를 말합니다. 여기서 '서로'는 프로세스나 쓰레드를 의미합니다. 데드락이 발생하기 위해서는 다음 네 가지 조건을 모두 만족해야 합니다. 상호 배제(Mutual exclusion)