-
프로세스와 쓰레드
프로세스(process)
- 실행 중인 프로그램
- 자원(resources)(메모리, CPU 등)과 쓰레드로 구성
쓰레드(thread)
- 프로세스 내에서 실제 작업을 수행
- 모든 프로세스는 최소 하나의 쓰레드를 가진다.
※ 프로세스는 공장, 쓰레드는 일꾼이라고 생각하면 쉽다.
싱글 쓰레드 프로세스
자원 + 한 개의 쓰레드
멀티 쓰레드 프로세스
자원 + 여러 개의 쓰레드
장점 단점 - 시스템 자원을 보다 효율적으로 사용할 수 있다.
- 사용자에 대한 응답성(responseness)이 향상된다.
- 작업이 분리되어 코드가 간결해진다.- 동기화(synchronization)에 주의해야 한다.
- 교착상태(dead-lock)가 발생하지 않도록 주의해야 한다.
- 각 쓰레드가 효율적으로 고르게 실행될 수 있게 해야 한다.
※ 프로그래밍을 할 때 고려해야 할 사항들이 많다.'공부 > Java' 카테고리의 다른 글
싱글쓰레드와 멀티쓰레드 (0) 2024.05.07 쓰레드의 구현과 실행 (0) 2024.05.06 애너테이션 타입 정의하기 (0) 2024.05.03 메타 애너테이션 (0) 2024.05.02 표준 애너테이션 (0) 2024.05.02