스레드와 프로세스

모르핀·2021년 3월 13일
0

멀티스레딩

목록 보기
1/1

프로그램(program)

컴퓨터에서 실행되는 명령어 모음이 있는 데이터 덩어리를 의미한다.
크게 코드(code)데이터(data)로 구성되어 있다.

프로세스(process)

프로그램을 실행하면 프로그램 안의 명령어가 한 줄씩 실행되면서 프로그램은 뭔가 활동하는 상태가 된다. 이를 프로세스(process)라고 한다.

프로세스는 프로그램에 있는 코드와 데이터를 불러들인다.
프로세스 메모리에는 코드(code), 데이터(data), 힙(heap), 스택(stack)이 공존한다.

프로그램은 디스크 같은 저장소에 있고, 프로세스는 RAM메모리에 있다.

스레드(thread)

프로세스보다도 작은 실행 흐름의 최소 단위.

  • 각 프로세스에는 독립된 메모리 공간이 있어서, 기본적으로 다른 프로세스는 상대방의 메모리 공간을 읽고 쓸 수 없습니다. 하지만 스레드는 프로세스 안에 있는 메모리 공간을 같이 사용할 수 있다.

  • 스레드마다 스택을 가집니다. 이는 각 스레드에서 실행되는 함수의 로컬 변수들이 스레드마다 있다는 의미.

profile
플어머

0개의 댓글