스레드 / 태스크

sz L·2023년 4월 14일
0

씨샵

목록 보기
17/17
post-thumbnail
post-custom-banner

프로세스

실행 파일이 실행되어 메모리에 적재된 인스턴스
하나 이상의 스레드Thread로 구성

스레드

운영체제가 CPU 시간을 할당 하는 기본 단위


스레드

멀티 스레드의 장점

  • 사용자 대화형 프로그램에서 응답성을 높일 수 있다
  • 경제성 - 메모리와 자원을 할당하는 비용 절감
  • 멀티 프로세서의 활용 - 멀티 프로세스 방식에 비해 멀티 스레드 방식이 자원 공유가 쉽다

멀티 스레드의 단점

  • context switching, 동기화 등의 이유 때문에 싱글 코어 멀티 스레딩은 스레드 생성 시간이 오히려 오버헤드로 작용해 단일 스레드보다 느리다.
  • 공유하는 자원에 동시에 접근하는 경우, 프로세스와는 달리 스레드는 데이터와 힙 영역을 공유하기 때문에 어떤 스레드가 다른 스레드에서 사용 중인 변수나 자료구조에 접근하여 엉뚱한 값을 읽어오거나 수정할 수 있다. 따라서 동기화가 필요!
  • 멀티 스레딩을 위해서는 운영체제의 지원이 필요하다.
  • 구현하기 까다롭고 테스트가 쉽지 않다.
  • 과다한 사용은 성능 저하 야기 - 작업간 전환(Context Switching)
  • 자식 스레드의 문제가 생기면 전체 프로세스에 영향을 끼침
profile
가랑비는 맞는다 하지만 폭풍은 내 것이야
post-custom-banner

0개의 댓글