일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 타입스크립트
- 배치
- TypeScript
- 알고리즘
- Serial GC
- 체인 패턴
- MSA
- Resilinece4j
- 디자인패턴
- The law of Demeter
- 디자인 패턴
- spring cloud
- saga pattern
- Spring Boot Actuator
- Action Pattern
- JPA
- 키클락
- Transaction Pattern
- Java
- java 정렬
- spring batch
- zipkin
- 생산자 소비자 패턴
- Parallel Old GC
- 스레드
- 스프링 배치
- thread
- 사가 패턴
- 멀티스레드
- Spring Cloud Netfilx Eureka
- Today
- Total
목록멀티스레드 (3)
PSD( Private-Self-Development )
Future 의 단점 및 한계 결과를 얻으려면 블로킹 방식으로 대기해야 한다 외부에서 완료 시킬 수 없다 여러 Future를 조합할 수 없다. 여러 작업을 조합하거나 예외처리 할 수 없다. 이와 같은 Future 의 단점을 보완 하기 위해 JAVA 8 에 추가된 CompletableFuture 을 알아보자 CompletableFuture Future 를 기반으로 외부에서 완료시킬 수 있도록 변경된 클래스 작업들을 중첩시키거나 콜백 함수 추가 가능하다. 비동기 작업 실행 runAsync 반환값이 없는 경우 비동기로 작업 실행 콜 supplyAsync 반환값이 있는 경우 비동기로 작업 실행 콜 작업 콜백 thenApply 반환 값을 받아서 다른 값을 반환함 함수형 인터페이스 Function을 파라미터로 받음..
Thread와 Runnable의 단점 및 한계 지나치게 저수준의 API(스레드의 생성)에 의존함 값의 반환이 불가능 매번 스레드 생성과 종료하는 오버헤드가 발생 스레드들의 관리가 어려움 이와 같은 Thread와 Runnable의 한계점 극복을 위해 JAVA 5 이후 버전부터 Callable, Future, Executors, Executor, ExecutorService, ScheduledExecutorService을 지원하게 되었다. 무엇인지 어떤 단점을 어떻게 개선하였는지 알아보자. Callable, Future 값의 반환이 불가능 단점을 극복하기 위해 JAVA 5에 추가된 제네릭을 사용해 실행 결과 값을 반환받을 수 있도록 하는 인터페이스 Callable 인터페이스 제네릭을 사용해 실행 결과 값을 ..
Thread와 Runnable 은 자바 초기(JAVA 5 이전)부터 멀티스레드를 위해 제공되던 기술이다. Thread 스레드 생성을 위해 Java에서 미리 구현해 둔 클래스 기본 메서드를 제공한다. run 스레드 실행 sleep 스레드 멈추기 자원 할당을 제거하지는 않고, 제어건만 넘겨주므로 데드락 발생 가능성 생김 interrupt interruptedException 발생 시킴 interrupt가 발생한 스레드는 예외를 catch 하여 다른 작업을 진행 가능 join 다른 스레드의 작업이 끝날 때까지 기다리게 함 스레드 간 순서 제어에 사용 Thread 장단점 장점 기본 메서드를 제공하기 때문에 이를 오버라이딩 하여 스레드를 상세하게 제어할 수 있다. 단점 기본 메서드를 포함하고 있기에 Runnab..