스레드(Thread)

창진·2022년 11월 24일
0

운영체제

목록 보기
5/7

스레드

  • 다중 스레드로 구성된 task 구조에서는 하나의 서버 스레드 가 blocked(waiting)상태인 동안에도 동일한 task 내의 다른 스레드가 실행(running)되어 빠른 처리를 할 수 있다.

  • 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다

  • 스레드를 사용하면 병렬성을 높일 수 있다.

스레드의 장점

  • 응답성
    multithreaded 프로그램은 그것의 일부가 block되어도 나머지는 계속 실행 가능

  • 자원 공유
    같은 process의 thread는 자원을 공유함

  • 경제성
    process마다 메모리와 자원을 할당하면 overhead가 발생하는데,thread를 사용하면 비용이 저렴해지고, 문맥교환(context switch)가 용이해짐

스레드 구현

  • user thread
    사용자 공간에서 thread 라이브러리를 통해 제공 kernel 자원 없이 thread 생성, 스케줄링, 관리를 제공

  • kernel thread
    os가 직접 지원 , kernel이 thread생성, 스케줄링,관리 담당 , mode 변경이 필요하므로 상대적으로 느림

profile
안녕하세요

0개의 댓글