프로그램
- 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 올바른 수행절차를 표현해 놓은 명령어들의 집합
프로세스
- 운영체제가 메모리 등의 필요한 자원을 할당해준 실행 중인 프로그램
- 프로그램을 실행하면 운영체제로부터 실행에 필요한 자원을 할당받아 프로세스가 됨
- 각각의 프로세스는 서로 메모리 공간을 독자적으로 갖기 때문에 서로 메모리 공간을 공유하지 못함
쓰레드
- 프로세스 내에서 실행되는 각각의 일들을 의미
- 프로세스 내에서 실행되는 세부 작업 단위로 여러 개의 스레드가 하나의 프로세스를 이루게 됨
- 프로세스 내에서 프로세스의 자원을 이용해서 실제로 작업을 수행하는 일꾼 같은 개념
- 각 스레드는 독자적인 스택 메모리를 갖음
- 자바스크립트는 싱글 스레드 언어