동시성
-
쓰레드는 뭘까?Apple🍎/Cocurrency 2025. 1. 27. 21:36
프로세스의 도입으로 하나의 CPU 코어를 여러 프로그램이 시분할(time-sharing) 방식으로 공유할 수 있게 되었습니다. 운영체제는 각 프로세스에 CPU 시간을 조금씩 할당하여 마치 여러 프로그램이 동시에 실행되는 것처럼 보이게 합니다. 메모장, 웹브라우저, 유튜브를 동시에 실행하는 상황을 예로 들어보겠습니다. 메모장에서 파일 저장과 같은 I/O 작업이 발생하면, 해당 프로세스는 I/O 작업이 완료되기를 기다리는 'blocked' 상태로 전환됩니다. 이때 운영체제는 CPU 자원을 웹브라우저나 유튜브와 같은 다른 실행 가능한('ready') 상태의 프로세스들에게만 할당합니다. 그렇지만 메모장 프로그램이 파일을 디스크에 저장하는 동안에도 사용자는 계속해서 텍스트를 입력하거나, 맞춤법 검사 결과를 확인하..