컴퓨터왕/운영체제

스레드

찌 ㅋ 2020. 3. 17. 01:38

스레드

  • 프로세스 안에서 실행되는 여러 흐름 단위
  • 스레드는 Stack만 따로 할당 받고 나머지 영역은 서로 공유함

 

 

멀티스레드

  • 하나의 응용 프로그램에서 여러 스레드를 구성해 각 스레드가 하나의 작업을 처리하는 것
  • 스레드들이 공유 메모리를 통해 다수의 작업을 동시에 처리하도록 해줌

멀티스레드 장점

  • 독립적인 프로세스에 비해 공유 메모리만큼의 시간, 자원 손실이 감소
  • 전역 변수와 정적 변수에 대한 자료 공유가 가능
  • 처리 비용 감소 및 응답 시간 단축
    • 프로세스 간의 통신(IPC)보다 스레드 간의 통신의 비용이 적음
    • 프로세스 간의 전환 속도보다 스레드 간의 전환 속도가 빠름

멀티스레드 단점

  • 안전성 문제
    • 하나의 스레드가 데이터 공간을 망가뜨리면 모든 스레드가 작동 불능 상태가 됨
    • 공유 메모리를 갖기 때문

 

Critical Section

  • 하나의 스레드가 공유 데이터 값을 변경하는 시점에 다른 스레드가 그 값을 읽으려 할 때 발생하는 문제를 해결하기 위한 동기화 과정
  • 상호 배제, 진행, 한정된 대기를 충족해야 함

'컴퓨터왕 > 운영체제' 카테고리의 다른 글

인터럽트  (0) 2020.03.17
프로세스와 스레드  (0) 2020.03.17
프로세스  (0) 2020.03.17
운영체제란  (0) 2020.03.17