졸업작품에 Multiprocessing 라이브러리를 사용할 부분이 생겨서 다시 공부할 겸 정리를 해보려고 한다. Multiprocessing 라이브러리를 공부하기 전 프로세스와 스레드의 개념을 정리하고 공부를 진행하겠다. 프로세스 vs 스레드 운영체제 공부를 하면서 프로세스의 정의는 "실행 중인 프로그램"이라고 했던 기억이 난다. 각 프로세스는 프로세스의 상태를 기록하는 프로세스 제어 블록(PCB - Process Control Block)이 존재하는데, 프로세스가 프로세서에 할당될 때마다 해당 프로세스의 제어 블록들이 먼저 적재된다. 이 과정을 문맥 교환(Context Switch)라고 한다. 스레드의 정의는 "프로그램 내에서 실행되는 흐름의 단위"이다. 한 개의 프로그램을 여러 개의 스레드로 정의할 ..