티스토리 뷰
실행자 프레임워크
- 자바의 실행자 프레임워크는 스레드에 대해 그리고 시스템에서 스레드가 사용하는 자원에 대한 새로운 차원의 제어를 가능하게 한다
- 실행자 프레임워크 기본 구성요소는 Executor 인터페이스다. 목표는 테스크의 생성을 분리하여, 응용프로그램의 동작을 가능하게 하는 것이다.
사용 예시
//작업 큐 생성
ExcutorService exec = Executors.newSingleThreadExecutor();
//실행자에 실행할 테스크를 넘기는 작업
exec.execute(runnable);
//실행자 종료
exec.shutdown();
- 이외에도 주요기능들이 있다
- 특정 태스크가 완료되기를 기다린다(코드 79-2에서 본 get 메서드)
- 태스크 모음 중 아무것 하나(invokeAny 메서드) 혹은 모든 태스크(invokeAll 메서드)가 완료되기를 기다린다.
- 실행자 서비스가 종료하기를 기다린다(awaitTermination 메서드)
- 완료된 태스크들의 결과를 차례로 받는다(ExecutorCompletionService 이용)
- 태스크를 특정 시간에 혹은 주기적으로 실행하게 한다(ScheduledThread PoolExecutor 이용)
특별한 실행자
- 평범하지 않은 실행자를 원한다면 ThreadPoolExecutor 클래스를 직접 사용해도 된다. 이 클래스로는 스 레드 풀 동작을 결정하는 거의 모든 속성을 설정
- Cached ThreadPool은 가벼운 서버에 사용하는게 좋다
- 요청받은 태스크들이 큐에 쌓이지 않고 즉시 스레드에 위임되어 실행된다. 가용한 스레드가 없다면 새로 하나를 생성한다. 서버가 아주 무 겁다면 CPU 이용률이 100%로 치닫고,새로운 태스크가 도착하는 족족 또 다른 스레드를 생성하며 상황을 더욱 악화시킨다
- 따라서 무거운 프로덕션 서버 에서는 스레드 개수를 고정한 Executors.newFixedThreadPool을 선택하거나 완 전히 통제할 수 있는 ThreadPoolExecutor를 직접 사용하는 편이 훨씬 낫다
테스크
- 작업단위를 나타내는 핵심 추상 개념
- Runnable과 Callable이다(Callable은 Runnable과 비슷하지만 값을 반환하고 임의의 예외를 던질 수 있다)
'Java' 카테고리의 다른 글
[Effective Java] 스레드 안전성 수준을 문서화하라 (0) | 2021.07.30 |
---|---|
[Effective Java] wait와 notify보다는 동시성 유틸리티를 애용하라 (0) | 2021.07.28 |
[Effective Java] 과도한 동기화는 피하라 (0) | 2021.07.25 |
[Effective Java] 공유 중인 가변 데이터는 동기화해 사용하라 (0) | 2021.07.24 |
[Effective Java] 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라 (0) | 2021.07.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Today
- Yesterday
링크
TAG
- 영속성
- 메인보드#asrock b650m #조립pc #후기이벤트
- nosql
- Serialize
- in-memory
- exception
- object
- JMeter
- Effective JAVA
- Spring
- Java
- Redis
- Design Pattern
- 디자인패턴
- LAMBDA
- Concurrecy
- template
- strategy
- jvm
- iterable
- observable
- 부하테스트
- concurrency
- template method
- jdk11
- Observer Pattern
- reactive stream
- Serializable
- reactive
- gslb
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함