운영체제

스레드의 개념

프로세스가 실행 중인 프로그램이라면, 스레드(Thread)는 프로세스 안에서의 실행 흐름입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 이 스레드들은 같은 메모리 공간을 공유하면서 독립적으로 실행됩니다.

공유하는 자원와 스레드 고유 자원를 중심으로 스레드의 개념의 판단 흐름을 읽습니다.

핵심 흐름

1

스레드가 공유하는 것과 고유한 것

같은 프로세스 내의 스레드들이 무엇을 공유하고 무엇을 독립적으로 가지는지를 정확히 이해하는 것이 멀티스레드 프로그래밍의 기초입니다.

2

멀티스레드의 장점

응답성(Responsiveness): GUI 애플리케이션에서 핵심입니다.

3

싱글 스레드 vs 멀티 스레드

웹 서버를 예로 들어 비교해 보겠습니다.

4

동시성 vs 병렬성

이 두 용어를 정확히 구분해야 합니다.