쓰레드(thread)

노지환·2022년 1월 25일

운영체제

목록 보기
2/5

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

motivation

thread는 어플리케이션 내에서 실행됩니다.

여러 개의 task로 이루어진 애플리케이션은 separate threads로 분리됩니다.

== 하나의 task마다 하나의 tread를 만듭니다.

???: thread가 아니라 process를 여러개 만들어서 진행해도 되지 않을까요??

→ process를 만드는 것은 비용이 매우 많이 든다. OS가 할일도 많고, overhead도 많아서 하지 않습니다!!

한 프로세스에서 쓰레드가 공유하는 것들

code, data, file은 쓰레드끼리 공유합니다.

registers와 stack은 쓰레드마다 가집니다.

쓰레드와 프로세스의 결정적인 차이?

code, data, files는 공유하고, registers와 stack은 각자 가지고 있다는 것을 알고 있어야합니다.
→ 프로세스가 달라지면 공유되는 부분도 달라지지만, 쓰레드가 달라진다고 공유되는 부분이 바뀌진 않습니다.

장점

반응이 빨라집니다.

리소스 쉐어가 더 편리하고 경제적입니다. == code, data, file을 공유하기 때문입니다.

profile
기초가 단단한 프로그래머 -ing

0개의 댓글