Thread (스레드)_기본 스레드 사용 [1/3]
codevang.tistory.com/174?category=827591
- 스레드 생성 - Thread / Runnable
- 스레드 우선순위
- 동기화 처리 - synchronized
- 스레드 상태값
Thread (스레드)_스레드 제어 [2/3]
codevang.tistory.com/182?category=827591
- [ wait(), notify(), notifyAll() ]
- 스레드를 조금 더 세밀하게 제어할 수 있도록 해주는 메소드
- 동기화(Synchronized) 처리가 된 블록 안에만 사용이 가능
- wait() : 스레드 상태를 RUNNABLE → WAITING 상태로 변경
- notify() : WAITING 상태의 특정 스레드를 RUNNABLE 상태로 변경
- notifyAll() : WAITING 상태의 모든 스레드를 RUNNABLE 상태로 변경
- join() :어떤 Thread가 종료될때까지 기다립니다., (갑 스레드 작업이 완료된 후 을 스레드가 동작하도록 함)
- sleep() : 스레드를 일정 시간 동안 멈춰둠 (TIME_WAITING 상태로 전환)
- interrupt(), intterupted(), isInterrupted()
sleep(), wait(), join() 메소드가 실행되어 중지(실행 대기 상태)되어 있는 스레드의 실행을 중지함
대기 상태가 아닌 경우 interrupt() 발생 여부를 확인하여 종료시킴
Thread (스레드)_스레드풀 [3/3]
codevang.tistory.com/183?category=827591
[ 스레드 풀 (Thread Pool) ]
- 미리 스레드를 생성해두고 재활용해가며 작업을 할당
- 미리 생성해둔 스레드를 모아둔 묶음을 스레드 풀이라고 함
- ExecutorService, Executors, newFixedThreadPool
- Runnable인터페이스 ,run() ===== 비슷? Callable인터페이스 , call()
- 스레드풀의 스레드 동작시키기
- Future 객체를 통한 스레드 블록킹 (작업 결과 통보받기)
- ExecutorCompletionService Class - 먼저 종료되는 스레드 순으로 작업 처리하기
- 스레드 종료
ExecutorService 클래스의 shutdown() : 현재 실행 중인 작업이 끝나고 스레드풀 종료
ExecutorService 클래스의 shutdownNow() : 즉시 스레드풀 종료
'■ JAVA > Study' 카테고리의 다른 글
[JAVA] 네트워크_소켓(Socket) 통신_IO 입출력 [1/3] (0) | 2021.03.05 |
---|---|
[JAVA] 예외처리 ★ (0) | 2021.03.04 |
[JAVA] File 내용 ★★ (참고 - NIO) (0) | 2021.03.04 |
[JAVA] 예외(Exception) 처리하기 (0) | 2021.03.03 |
[JAVA] 컬렉션 프레임워크(컬렉션 API)★★★★(이거 보기)★★ (0) | 2021.03.03 |