멀티 태스킹이란? : 짧은 시간안에 빠르게 하나의 프로세스을 바꿔가며 마치 동시에 실행되는거 처럼 보이게 만드는 작업 방식
장점 : 동시에 프로그램이 실행되는거처럼 보인다. 사용자 입장에서 여거 서비스를 사용하는데 무리가 없다
단점 : 컨텍스트 스위칭 비용이 많이 발생한다.
=====
문제점
1. 하나의 프로세스가 동시에 여러 작업을 수행하지 못함
2. 무거운 프로세스 간 컨텍스트 스위칭
3. 프로세스 간 데이터 공유의 어려움
스레드(Thread)의 등장과 특징
: 한 프로세스 내에서 여러 작업을 동시에 실행할 수 있다.
1. 프로세스 내 여러 스레드 보유
2. CPU실행 단위 : 과거에는 CPU실행단위가 프로세스 -> 현재는 스레드로 변경
3. 가벼운 스레드 간 컨텍스트 스위칭 : 스레드는 동일 프로세스 내에서 메모리 영역(Heap)을 공유하므로, 스레드 간의 컨텍스트 스위칭은 프로세스간 스위칭보다 훨씬 가볍다.
멀티 스레딩과 멀티 프로세싱
- 멀티 스레딩 : 하나의 프로세스 내에서 여러 스레드를 통해 동시에 여러 작업을 실행하는 기법
- 멀티 프로세싱 : 두 개 이상의 프로세서나 코어를 활용하여 여러 프로세스가 동시에 실행되는 시스템
'cs(with 매일메일)' 카테고리의 다른 글
| [260204수] 가상화에 대해 설명해주세요. (0) | 2026.02.04 |
|---|---|
| [260203화] JCF 자료구조의 초기 용량을 지정하면 좋은 점이 무엇인가요? (0) | 2026.02.03 |
| [260130금] 단일 프로세스 시스템에 대해서 설명해주세요. (0) | 2026.01.30 |
| [260129목] Keep Alive에 대해 설명해주세요. (0) | 2026.01.29 |
| [260127화] 자료구조 트라이에 대해서 설명해주세요. (0) | 2026.01.28 |