[간단CS] 프로세스 VS 스레드

이아름·2022년 11월 15일
0

CS공부

목록 보기
3/4
post-thumbnail

프로세스

운영체제로부터 자원을 할당받는 작업의 단위

메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)

프로세스는 독립된 메모리 영역을 할당받음

스레드

프로세스가 할당받은 자원을 이용하는 실행의 단위

프로세스 내에서 실행되는 여러 흐름의 단위

스레드끼리는 코드, 데이터, 힙을 공유하고 스택만 따로 할당받는다.

스레드 사이의 작업량이 작아 Context Switching이 빠르다

Context Switching

  • 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의 상태를 보관하고 새로운 프로세스의 상태를 적재하는 작업을 말한다
  • 대기하고 있던 프로세스 or 스레드가 메모리에 올라오면서 프로세스 상태를 적재하는 것
    • 실행할 프로세스 or 스레드의 상태를 갈아 끼우는 것

더 알아볼 것

  • RxJava VS Coroutine
profile
반갑습니다

0개의 댓글