1
스레드가 공유하는 것과 고유한 것
같은 프로세스 내의 스레드들이 무엇을 공유하고 무엇을 독립적으로 가지는지를 정확히 이해하는 것이 멀티스레드 프로그래밍의 기초입니다.
프로세스가 실행 중인 프로그램이라면, 스레드(Thread)는 프로세스 안에서의 실행 흐름입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 이 스레드들은 같은 메모리 공간을 공유하면서 독립적으로 실행됩니다.
스레드가 프로세스 자원을 공유하면서도 각자 스택과 실행 상태를 갖는 방식을 확인합니다.
같은 프로세스 내의 스레드들이 무엇을 공유하고 무엇을 독립적으로 가지는지를 정확히 이해하는 것이 멀티스레드 프로그래밍의 기초입니다.
응답성(Responsiveness): GUI 애플리케이션에서 핵심입니다.
요청을 하나씩 처리하는 서버와 요청마다 스레드를 나누는 서버를 비교해 응답성과 동기화 비용을 봅니다.
이 두 용어를 정확히 구분해야 합니다.