threadpoolexecutor 예제

확장 예제입니다. 이 클래스의 대부분의 확장은 보호된 후크 메서드 중 하나 이상을 재정의합니다. 예를 들어 간단한 일시 중지/다시 시작 기능을 추가하는 하위 클래스는 다음과 같습니다. 여기서는 화면에 “Hello World”를 인쇄하는 단일 작업을 실행합니다. 이 작업은 실행 가능한 것으로 유추되는 람다(Java 8 기능)로 제출됩니다. 다음 예제에서는 실행기 Service를 만들고 작업을 제출한 다음 반환된 Future의 get 메서드를 사용하여 제출된 작업이 완료되고 값이 반환될 때까지 기다립니다. 고정스레드풀. 안녕하세요 Pankaj, 나는이 WorkerPool.java 예제 1에 대한 몇 가지 의심이 있다. WorkerPool.java 예제에서 ThreadFactory 인터페이스를 사용하지만 ThreadPoolExecutor는 생성 중에 전달되지 않는 경우 내부적으로 defaultThreadFactory()를 사용하며 예제에서 명시적으로 수행하는 목적은 무엇입니까? 위의 예제의 작업은 순차적으로 실행되므로 작업 완료 후 플래그 값은 2가 됩니다.

나는 몇 가지 요구 사항이 있습니다. 파일 수를 읽고 데이터를 테이블에 푸시해야합니다. 집행자 서비스가 최적의 방법으로 사용할 수 있다고 생각합니다. 실행기 서비스를 사용하여 수행하는 방법을 도와주시겠습니까 ForkJoinPool을 사용하여 노드 트리를 탐색하고 모든 리프 값의 합계를 계산하는 간단한 예제를 살펴보겠습니다. 다음은 노드, int 값 및 자식 노드 집합으로 구성된 트리의 간단한 구현입니다: ThreadPoolExecutor의 기본 예제를 만들고 newFixedThreadPool을 사용하여 ThreadPoolExecutor의 인스턴스를 만듭니다. 작업을 만들어 보겠습니다. 여기서 작업은 다른 파일을 읽고 처리하는 것입니다. 실행기서비스 인터페이스 및 선물 사용에 대한 자세한 예는 “Java 실행기 서비스 가이드”를 참조하십시오.

예를 들어 newFixedThreadPool 메서드는 동일한 코어풀크기 및 최대풀크기 매개 변수 값과 0 keepAliveTime을 가진 ThreadPoolExecutor를 만듭니다. 즉, 이 스레드 풀의 스레드 수는 항상 동일합니다. BrokenExecutor (이전 런타임Error)에서 파생 된이 예외 클래스는 ProcessPoolExecutor의 작업자 중 하나가 비 정리 방식으로 종료 된 경우 (예 : 외부에서 사망한 경우)에서 발생합니다. 위의 예제에서는 2의 고정 스레드 수를 가진 ThreadPoolExecutor를 인스턴스화합니다. 즉, 동시에 실행 중인 작업의 양이 항상 두 개 이하인 경우 즉시 실행됩니다.

©2019 DemiJohn

Log in with your credentials

Forgot your details?