
옛날 컴퓨터 → 멀티태스킹이 불가능해 한번에 한 작업만 할 수 있었음
.exe -> 프로그램
컴퓨터가 어떤 일을 하고 있는 상태 -> 프로세스
운영체제가 여러 개의 프로세스를 함께 돌려 쾌적하게 사용 가능!
(동시적, 병렬적, 혼합적)
병렬 -> 코어 하나에 프로세스가 여러 개가 달려 각각 동시에 작업들을 수행하는 것
ex: 듀얼코어, 쿼드코어, 옥타코어
코어를 여러 개 달아 작업을 분담!
스레드 (Thread): 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위
프로세스들은 컴퓨터의 자원을 분할해서 쓰지만 스레드는 프로세스마다 주어진 전체 자원을 함께 사용! But, 단점도 있음