스레드(Thread)

개념

  • 스레드란 실제적으로 명령어가 CPU를 사용하여 실행되어지는 객체의 단위
  • window 운영체제는 하나의 프로세스에서 여러 개의 스레드가 실행될 수 있도록 하고 있으며, 스레드는 같은 프로세스에 있는 자원과 상태를 공유함
  • 같은 프로세스 내에 있는 스레드는 같은 주소 공간에 존재하게 되며, 동일한 데이터에 접근할 수 있고, 하나의 스레드가 수정한 메모리는 같은 메모리를 참조하는 스레드에 영향을 미치게 되며, 하나의 스레드에서 오픈한 파일을 다른 스레드가 사용할 수 있음
  • 프로세스에 속한 스레드들은 그 프로세스의 상태에 지배를 받게 되므로, 만약 그 프로세스가 종료하게 되면 이에 속한 모든 스레드 또한 종료


프로세스와 스레드

  • 프로세스에 대한 특성은 프로그램을 실행하는 자원이라는 측면과 실행되는 제어의 흐름 등 두 가지 요소로 정리 가능
  • 자원이라는 의미에서 운영체제는 프로세스를 저장하고 표현하기 위해 프로세스 제어 블록과 같은 정보를 갖고 있어야 하므로 프로세스를 생성하고 유지 관리하는데 많은 비용이 필요
  • 프로세스가 실행될 때의 제어만을 분리한 개념을 스레드 또는 경량 프로세스(LWP, Light Weight Process) 라고 함

이 블로그의 인기 게시물

USArrests(1973년 미국 50개주 십만명당 강력범죄수)

군집분석(Cluster Analysis)

SRTP(Secure Real-Time Transport Protocol)