프로세스와 쓰레드
- 프로세스 : 실행중인 프로그램, 자원(resources, 메모리, cpu 등)과 쓰레드로 구성
- 쓰레드 : 프로세스 내에서 실제 작업을 수행
모든 프로세스는 최소한 1개의 쓰레드를 가지고 있다.
프로세스 : 쓰레드 = 공장 : 일꾼
멀티쓰레드의 장단점
- 장점
- 시스템 자원을 보다 효율적으로 사용할 수 있다.
- 사용자에 대한 응답성(responseness)이 향상된다
- 작업이 분리되어 코드가 간결해진다.
→ 여러모로 좋다.- 단점
- 동기화(synchronization)에 주의해야 한다.
- 교착상태(dead-lock)가 발생하지 않도록 주의해야 한다.
- 각 쓰레드가 효율적으로 고르게 실행될 수 있게 해야 한다.
→ 프로그래밍 할 때 고려해야 할 사항들이 많다.