728x90
반응형
Multi Thread ?
일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업을 수행하게 됩니다.
하지만 멀티 스레드(multi thread)란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미합니다.
728x90
Single Thread?
하나의 프로세스에서 오직 하나의 스레드로만 실행한다. 그렇기 때문에, 하나의 레지스터와 스택으로 표현이 가능하다.
- 병렬적 처리: 멀티 쓰레드는 여러 쓰레드가 동시에 작업을 수행하여 병렬적으로 처리할 수 있습니다. 싱글 쓰레드는 한 번에 한 작업만 처리할 수 있습니다.
- 자원 공유: 멀티 쓰레드는 공유 메모리를 통해 자원을 공유할 수 있습니다. 싱글 쓰레드는 각각의 작업이 독립적으로 처리되므로 자원을 공유할 수 없습니다.
- 오류 영향 범위: 멀티 쓰레드에서 오류가 발생하면 그 오류가 영향을 미치는 범위가 클 수 있습니다. 싱글 쓰레드에서는 한 번에 한 작업만 처리하므로 오류가 발생하면 그 오류가 영향을 미치는 범위가 제한적입니다.
- 작업 순서: 멀티 쓰레드에서는 쓰레드가 독립적으로 작업을 처리하기 때문에 작업의 순서가 보장되지 않습니다. 싱글 쓰레드에서는 작업이 순차적으로 처리되므로 작업의 순서가 보장됩니다.
어떤 상황에서 어떤 쓰레드 모델을 사용할지는 애플리케이션의 특성과 목적에 따라 결정됩니다.
멀티 쓰레드는 병렬적 처리와 자원 공유 기능을 제공하지만, 오류 발생시 영향 범위가 크고 작업 순서 보장이 어렵다는 단점이 있습니다.
싱글 쓰레드는 오류 영향 범위가 제한적이고 작업 순서 보장이 쉽지만, 병렬적 처리와 자원 공유 기능이 부족하다는 단점이 있습니다.
728x90
반응형
'Computing' 카테고리의 다른 글
Django로 백엔드 개발하기 (0) | 2024.03.09 |
---|---|
디자인 패턴: 팩토리 패턴 이해하기 (0) | 2024.03.09 |
스택(Stack) 자료구조 이해하기 (0) | 2024.03.09 |
웹 개발에서의 HTTP 요청과 응답 이해하기 (0) | 2024.03.09 |
MSA 환경 (0) | 2023.02.23 |