Post

Operating System | 쓰레드(Thread)

Operating System | 쓰레드(Thread)

프로세스와 쓰레드

쓰레드 = 실행흐름

  • 쓰레드의 장점(benefits)
    • 프로세스에 비해 새로운 쓰레드 생성 시간/비용이 절약됨
    • 프로세스 종료 시간보다 쓰레드 종료 시간이 짧다.
    • 한 프로세스 내의 두 쓰레드들 사이의 교환 및 교체 시간이 짧다.
    • 동일 프로세스 내의 쓰레드들은 메모리 및 파일을 공유하기 때문에, 이들 쓰레드들은 커널의 개입 없이 서로 통신 가능

단일쓰레딩(threading) & 멀티쓰레딩(Multithreading)

  • UNIX 계열의 여러 운영체제는 다중 사용자 프로세스를 지원하지만, 프로세스 당 하나의 쓰레드만을 지원한다.
    • JAVA 수행시간 환경은 하나의 프로세스가 멀티 쓰레드를 지원한다.
  • 단일 프로세스 내에 멀티 쓰레드 실행을 지원 가능 현존하는 멀티 프로세서 -> 다수의 프로세스 & 프로세스 당 다수의 쓰레드

쓰레드의 기능

  • 쓰레드 동기화(synchronization)
    • 한 프로세스 내의 모든 쓰레드들은 동일 주소 공간 및 자원들을 공유
    • 공유 자원: 전역 변수, 파일, 힙(heap)duddur
    • 공유 자원에 대해 동시 접근 시, 일관성 유지 기법 필요
This post is licensed under CC BY 4.0 by the author.