멀티 스레드(Multi Thread)란?

2023. 8. 14. 16:43·CS 공부/운영체제

멀티 스레드란?

 

하나의 프로세스가 동시에 여러 개의 일을 수행할 수 있도록 해주는 것이다. 즉 하나의 프로세스에서 여러 작업을 병렬로 처리하기 위해 멀티 스레드를 사용한다. 멀티 스레드에서는 한 프로세스 내에 여러 개의 스레드가 있고, 각 스레드들은 스택 메모리를 제외한 나머지 영역(Code, Data, Heap)영역을 공유하게 된다. 

 

 

※ 스레드와 프로세스의 용어가 헷갈리다면 다음 포스팅을 참고하자.

 

프로세스 vs 스레드

프로그램(Program) 이란? 사전적 의미 1. “어떤 작업을 위해 실행할 수 있는 파일” (실행파일) 2. 단순히 명령어 리스트를 포함하는 파일 프로세스(Process) 란? 사전적 의미 1. “컴퓨터에서 연속적

hyolls100.tistory.com

 

 

스택 메모리 & PC Register

 

프로세스 내에서 각 스레드는 독립적인 기능을 실행 = 독립적으로 함수를 호출함을 의미하므로, 함수 호출 시 전달되는 인자, 함수의 Return Addres, 함수 내 지역변수 등을 독립적으로 저장할 수 있어야한다. 

 

따라서, 위에서 언급한 것 같이 하나의 프로세스 내에서 각 스레드는 메모리 영역 중에서 스택 영역만을 제외하고 나머지 영역을 공유하는 형태를 갖게 된다.  

 

또한, 각 스레드마다 PC register를 가지고 있어야한다. 그 이유는 한 프로세스 내에서도 스레드끼리 context switch가 일어나게 되는데, PC register에 code address가 저장되어 있어야 이어서 실행할 수 있기 때문이다. 

 

 

 

※ context switch의 원리에 대해서 자세히 알고싶다면 다음 포스팅을 참고하자.

 

PCB와 Context Switching

Process Management CPU가 프로세스가 여러 개일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. 이 때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능하다. 이러한 프로세스들의 특징을 갖고 있는

hyolls100.tistory.com

 

'CS 공부 > 운영체제' 카테고리의 다른 글

멀티 프로세스(Multi-Process) vs 멀티 스레드(Multi-Thread) / Chrome의 탭은 프로세스다  (0) 2023.08.14
멀티 프로세스(Multi Process)와 시분할 시스템의 동시성(Concurrency)  (0) 2023.08.11
뮤텍스(Mutex)와 세마포어(Semaphore) / 동기화문제와 임계영역  (0) 2022.09.04
경쟁 상태(Race Condition)란 ?  (0) 2022.08.28
IPC(Inter Process Communication)  (0) 2022.08.07
'CS 공부/운영체제' 카테고리의 다른 글
  • 멀티 프로세스(Multi-Process) vs 멀티 스레드(Multi-Thread) / Chrome의 탭은 프로세스다
  • 멀티 프로세스(Multi Process)와 시분할 시스템의 동시성(Concurrency)
  • 뮤텍스(Mutex)와 세마포어(Semaphore) / 동기화문제와 임계영역
  • 경쟁 상태(Race Condition)란 ?
횰쓰
횰쓰
개발 성장 블로그입니다
  • 횰쓰
    횰쓰토리
    횰쓰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • CS 공부
        • 운영체제
        • 네트워크
        • 컴퓨터구조
        • 데이터베이스
        • 알고리즘
        • 소프트웨어공학
        • 자료구조
        • 웹
      • 프로그래밍
        • Python
        • NodeJS
      • 프로젝트
        • React 프로젝트
      • 개발도구
        • Git
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    3 Way Handshake
    포화이진트리
    큐
    RB트리
    이진탐색트리
    Min힙
    RB Tree
    AVL트리
    리스트정렬여부
    스택
    운영체제
    Git
    둘만의 암호
    전이진트리
    Max힙
    최태성인강
    한국사능력검정시험 심화
    자가균형 이진탐색트리
    카드뭉치
    멀티 프로세스
    Sync/Async
    경쟁상태(Race Condition)
    chrome
    프로세스 주소공간
    멀티 스레드
    Push-force
    tcp
    4 way handshake
    SQL/NOSQL
    페이지 교체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
횰쓰
멀티 스레드(Multi Thread)란?
상단으로

티스토리툴바