java executorservice 예제

안녕하세요 Pankaj, 나는이 WorkerPool.java 예제 1에 대한 몇 가지 의심이 있다. WorkerPool.java 예제에서 ThreadFactory 인터페이스를 사용하지만 ThreadPoolExecutor는 생성 중에 전달되지 않는 경우 내부적으로 defaultThreadFactory()를 사용하며 예제에서 명시적으로 수행하는 목적은 무엇입니까? 다음은 ThreadPoolExecutor를 사용하는 스레드 풀 구현 예제입니다. 지연 또는 주기적으로 실행되도록 작업을 예약하려면 ScheduledThreadPoolExecutor 클래스를 사용할 수 있습니다. Java 스케줄 스레드 풀 실행기에서 자세히 읽어보십시오. Runnable은 기능 인터페이스이므로 Java 8 lambda 식을 사용하여 현재 스레드 이름을 콘솔에 인쇄할 수 있습니다. 먼저 새 스레드를 시작하기 전에 주 스레드에서 직접 실행할 수 있습니다. 실행기 프레임 워크 (Java 1.5 이후)는이 문제를 해결했습니다. 프레임워크는 실행기, 실행기 서비스 및 ThreadPoolExecutor와 같은 세 가지 주요 인터페이스(및 많은 자식 인터페이스)로 구성됩니다. 당신은 내가 이것을 wihts 도움이 될 수 있습니까? java.util.concurrent 패키지의 클래스를 사용하지 않고 java.util.concurrent.ThreadPoolExecutor: Java 플랫폼에 있는 것과 유사한 스레드 풀 실행기를 구현합니다.

구성 요소는 java.lang.Runnable 형식의 실행 작업에 대해 허용됩니다. 입력 매개 변수는 다음과 같습니다: – int corePoolSize – int maximumPoolSize – int keepAliveTime (해상도 = 1초) – int queueSize 스레드 클래스로 작업하는 것은 매우 지루하고 오류가 발생하기 쉽습니다. 이러한 이유로 인해 동시성 API는 2004년에 Java 5가 출시되면서 다시 도입되었습니다. API는 패키지 java.util.concurrent에 있으며 동시 프로그래밍을 처리하기 위한 많은 유용한 클래스를 포함합니다. 그 이후로 동시성 API는 모든 새로운 Java 릴리스로 향상되었으며 심지어 Java 8에서도 동시성을 처리하기위한 새로운 클래스와 방법을 제공합니다. 좋은 예입니다. 나는 몇 가지 요구 사항이 있습니다. 파일 수를 읽고 데이터를 테이블에 푸시해야합니다. 집행자 서비스가 최적의 방법으로 사용할 수 있다고 생각합니다. 예를 들어 실행기 서비스를 사용하여 수행하는 방법을 도와주시겠습니까? Java를 익숙하지만 대신 executor.awaitTermination()를 사용하여 피할 수있는 바쁜 루프를 만들 수 있습니다. 다음 예제에서는 스레드 풀을 사용 하 여 여러 작업을 동시에 실행 하는 실행기 서비스를 만들 수 있는 방법을 보여 주- 위의 예제에서 실행기.shutdownNow() 메서드 호출을 주석 지정 하는 경우 모든 작업이 실행 된 후에도 주 스레드남아 있습니다.

활성 및 JVM은 멈추지 않습니다.