1
스레드가 공유하는 것과 고유한 것
같은 프로세스 내의 스레드들이 무엇을 공유하고 무엇을 독립적으로 가지는지를 정확히 이해하는 것이 멀티스레드 프로그래밍의 기초입니다.
프로세스가 실행 중인 프로그램이라면, 스레드(Thread)는 프로세스 안에서의 실행 흐름입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 이 스레드들은 같은 메모리 공간을 공유하면서 독립적으로 실행됩니다.
공유하는 자원와 스레드 고유 자원를 중심으로 스레드의 개념의 판단 흐름을 읽습니다.
같은 프로세스 내의 스레드들이 무엇을 공유하고 무엇을 독립적으로 가지는지를 정확히 이해하는 것이 멀티스레드 프로그래밍의 기초입니다.
응답성(Responsiveness): GUI 애플리케이션에서 핵심입니다.
웹 서버를 예로 들어 비교해 보겠습니다.
이 두 용어를 정확히 구분해야 합니다.