스레드의 개념

Park Sejin·2021년 8월 2일
0
post-thumbnail

스레드

  • 하나의 프로세스의 환경 안에서 여러 개의 제어 가닥(thread of control)들이 존재할 수 있다.
  • 이러한 제어 가닥 또는 한 줄기의 실행 흐름을 스레드(thread)라고 부른다.
  • 한 프로세스 안의 모든 스레드는 동일한 프로세스 구성요소(파일 서술자, 메모리 등)들을 공유한다.

스레드의 개념

  • 일반적으로 UNIX 프로세스는 하나의 제어 가닥으로 구성되고 한 번에 하나의 일만 수행한다.
  • 제어 가닥을 여러 개 둔다면, 하나의 프로세스에서 한 번에 어러 개의 일을 하도록 설계할 수 있다.

멀티 스레딩의 장점

  • 비동기적인 사건을 다루는 코드를 단순화할 수 있다.
  • 한 프로세스의 스레드들은 동일한 메모리 주소 공간과 파일 서술자들에 자동으로 접근할 수 있다. 하지만 여러 개의 프로세스로 메모리와 파일 서술자를 공유하는 것은 복잡하다.
  • 문제를 여러 조각으로 분할해서 처리하면 프로그램의 전체적인 처리량이 개선되는 경우가 있다.
  • 대화식 프로그램에서는 여러 개의 스레드를 이용해서 사용자의 입력과 출력을 처리하는 부분을 그 외의 부분과 분리하면 프로그램의 반응시간을 개선할 수 있다.

출처

UNIX 고급 프로그래밍 11장 - 리처드 스티븐스, 스티븐 레이고
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=97911854750

0개의 댓글