-
20240902 15일차카테고리 없음 2024. 9. 2. 21:28
[Thread Pool]
- Thread 개수가 많아지면 그에 따른 스레드 객체 생성과 스케줄링 등으로 CPU와 메모리에 많은 부하가 발생 -> 동시에 실행하는 스레드 개수를 제한할 필요
- Thread Pool은 제한된 개수의 thread를 JVM에 관리하도록 맡기는 방식
- java.util.concurrent 패키지
[Thread 생명주기]
객체 생성
- NEW
* 스레드 객체가 생성된 상태
* 아직 start() 메서드가 호출되지 않았으며, 이 상태에서는 스레드가 실행되지 않음
실행 대기
- RUNNABLE
* start() 메서드가 호출된 후, 스레드가 실행 대기열에 있는 상태
* 스레드가 실행될 준비가 되었지만, CPU 자원을 할당받지 못해 대기 중일 수 있음* CPU가 스레드를 선택하여 실행하면 Running 상태로 전환됨
중지
- BLOCKED
*
- WAITING
*
- TIME_WAITING
*
종료
- TERMINATED
*
[Daemon Thread]
=============================
TCP vs UDP
TCP
- 연결 지향 프로토콜
- 데이터 손실 X, 데이터 전달 순서 보장
- IP와 함께 사용되기 때문에 TCP/IP 라고도 함
- Java에서는 java.net 패키지에서 ServerSocket와 Socket 클래스를 제공함
UDP
- 비연결 지향 프로토콜
- 빠른 데이터 전달 속도
- 데이터 손실 발생 가능성 O, 데이터 전달 순서 보장 X