스레드
- 프로세스 내에서 실행되는 흐름의 단위.
- 각 스레드는 프로세스의 자원을 공유하면서 독립적인 실행 흐름을 가진다.
- 모든 프로세스는 최소 하나 이상의 스레드가 존재한다.
프로세스와의 차이점
프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위
스레드 : 프로세스 내에서 실행되는 더 작은 단위
-
장점
- 스레드는 자원을 공유하기 때문에 커뮤니케이션이 용이하다.
- 프로세스보다 생성과 전환 비용이 적다.
-
단점
- 자원을 공유하기 때문에 데이터의 일관성을 유지하기 위한 동기화가 필요하다.
- 따라서 복잡성이 증가할 수 있다.
멀티스레딩