«executorservice» 태그된 질문

ExecutorService는 관리되는 스레드 풀을 포함하고 이러한 스레드에 대해 제출 된 작업을 예약 할 수있는 Java 개체입니다. 스케줄링 전략은 사용 가능한 여러 구현에 따라 다릅니다.

25
ExecutorService를 사용하여 모든 스레드가 완료되기를 기다리는 방법은 무엇입니까?
한 번에 몇 가지 작업 4를 다음과 같이 실행해야합니다. ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } //...wait for completion somehow 모두 완료되면 어떻게 알림을받을 수 있습니까? 지금은 전역 작업 카운터를 설정하는 것보다 더 나은 것을 생각할 수 없으며 모든 작업이 끝날 때마다 그것을 줄인 다음 무한 루프 에서이 …

6
자바 타이머 대 ExecutorService?
을 사용하여 작업을 예약하는 코드가 java.util.Timer있습니다. 나는 둘러보고 있었고 ExecutorService똑같이 할 수있는 것을 보았다 . 여기이 질문이 있습니다. 당신 은 작업 을 사용 Timer하고 ExecutorService일정을 잡았습니까? 하나를 사용하는 것의 이점은 무엇입니까? 또한 누군가가 Timer수업 을 사용했는지 확인 하고 ExecutorService해결할 수 있는 문제가 발생했는지 확인하고 싶었 습니다.

17
ExecutorService의 이름 지정 스레드 및 스레드 풀
Executor프레임 워크 를 활용하는 응용 프로그램이 있다고 가정 해 보겠습니다. Executors.newSingleThreadExecutor().submit(new Runnable(){ @Override public void run(){ // do stuff } } 이 응용 프로그램을 디버거에서 실행하면 다음과 같은 (기본) 이름으로 스레드가 생성됩니다 Thread[pool-1-thread-1]. 보시다시피, 이것은별로 유용 Executor하지 않으며 내가 알 수있는 한 프레임 워크는 작성된 스레드 또는 스레드 풀의 이름을 …

12
Java ExecutorService 태스크의 예외 처리
ThreadPoolExecutor고정 된 수의 스레드로 많은 수의 무거운 작업을 실행 하기 위해 Java 클래스 를 사용하려고 합니다. 각 작업에는 예외로 인해 실패 할 수있는 여러 위치가 있습니다. 하위 클래스를 만들었고 작업을 실행하는 동안 발생하지 않은 예외를 제공 해야하는 메소드를 ThreadPoolExecutor재정의했습니다 afterExecute. 그러나 나는 그것이 효과가있는 것처럼 보이지 않습니다. 예를 들면 다음과 …

14
ExecutorService, 모든 작업이 완료 될 때까지 기다리는 방법
모든 작업이 ExecutorService완료 될 때까지 기다리는 가장 간단한 방법은 무엇입니까 ? 내 작업은 주로 계산 작업이므로 각 코어마다 하나씩 많은 수의 작업을 실행하고 싶습니다. 지금 내 설정은 다음과 같습니다. ExecutorService es = Executors.newFixedThreadPool(2); for (DataTable singleTable : uniquePhrases) { es.execute(new ComputeDTask(singleTable)); } try{ es.wait(); } catch (InterruptedException e){ e.printStackTrace(); } …

7
ExecutorService의 제출과 ExecutorService의 실행 중 선택
반환 값이 관심사가 아닌 경우 ExecutorService의 submit 또는 execute 중에서 어떻게 선택해야 합니까? 둘 다 테스트하면 반환 값을 제외하고 둘 사이에 차이가 없었습니다. ExecutorService threadExecutor = Executors.newSingleThreadExecutor(); threadExecutor.execute(new Task()); ExecutorService threadExecutor = Executors.newSingleThreadExecutor(); threadExecutor.submit(new Task());


6
스레드 풀에서 스레드 ID를 얻는 방법은 무엇입니까?
작업을 제출하는 고정 스레드 풀이 있습니다 ( 5 개 스레드로 제한됨 ). 이 5 개의 스레드 중 어느 것이 내 작업을 실행 하는지 어떻게 알 수 있습니까 ( " 5 번 스레드 # 3 / 5 가이 작업을 수행 중입니다")? ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infinite loop: taskExecutor.execute(new MyTask()); .... …

13
크기 제한이있는 캐시 된 스레드 풀을 만들 수 없습니까?
캐시 가능한 스레드 풀을 생성 할 수있는 스레드 수로 제한하는 것은 불가능한 것 같습니다. 정적 Executors.newCachedThreadPool이 표준 Java 라이브러리에서 구현되는 방법은 다음과 같습니다. public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>()); } 따라서 해당 템플리트를 사용하여 고정 크기의 캐시 된 스레드 풀을 작성하십시오. new ThreadPoolExecutor(0, …

3
FixedThreadPool 대 CachedThreadPool : 두 가지 악 중 적은 것
여러 작업을 수행하는 스레드 (~ 5-150)를 생성하는 프로그램이 있습니다. 원래는 이 유사한 질문 이 더 오래 지속되는 작업에 더 적합하고 멀티 스레딩에 대한 매우 제한된 지식으로 인해 스레드의 평균 수명 (몇 분) " 장수 "를 고려 FixedThreadPool했기 때문에 a를 사용했습니다 . 그러나 최근에 추가 스레드를 생성하는 기능을 추가하여 설정 한 …

9
시간 초과 후 작업을 중단하는 ExecutorService
제한 시간이 제공 될 수 있는 ExecutorService 구현을 찾고 있습니다. ExecutorService에 제출 된 작업은 실행 시간 초과보다 오래 걸리면 중단됩니다. 그런 짐승을 구현하는 것은 그렇게 어려운 작업은 아니지만, 기존 구현에 대해 아는 사람이 있는지 궁금합니다. 다음은 아래 논의 중 일부를 기반으로 내가 생각 해낸 것입니다. 다른하실 말씀 있나요? import java.util.List; …

5
ExecutorService에서 shutdown ()을 호출하는 이유
나는 지난 몇 시간에 대해 상당히 읽고 있었다, 나는 단순히 어떤 이유 (볼 수없는 유효한 전화에 이유) shutdown()온 ExecutorService우리는 엄청난 응용 프로그램을하지 않는 한, 어떤 상점, 수십 사용되지 않는 다른 실행 프로그램 서비스의 수십 오랫동안. (내가 모은 것에서) 셧다운이하는 유일한 일은 일단 정상 쓰레드가하는 일을하는 것입니다. 일반 Thread가 Runnable (또는 …

7
Java : 특정 큐 크기 이후 제출시 차단되는 ExecutorService
단일 스레드가 병렬로 수행 할 수있는 I / O 집약적 인 작업을 생성하는 솔루션을 코딩하려고합니다. 각 작업에는 중요한 인 메모리 데이터가 있습니다. 따라서 현재 보류중인 작업의 수를 제한 할 수 있기를 원합니다. 다음과 같이 ThreadPoolExecutor를 생성하면 : ThreadPoolExecutor executor = new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(maxQueue)); 그런 다음이 executor.submit(callable)발생 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.