2013-07-11 2 views
1

ScheduledExecutorService에 대한 여러 작업을 예약했지만 모든 작업을 실행하는 스레드 만있을 수 있다고 확신하면 각 작업이 순차적으로 실행됩니까? javadoc 내에서 시나리오newSingleThreadScheduledExecutor를 사용하여 여러 작업 예약

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); 
scheduler.scheduleWithFixedDelay(new Runnable{void run(){....}}, 6000,6000,TimeUnit.MILLISECONDS); 
scheduler.scheduleWithFixedDelay(new Runnable{void run(){....}}, 6000,6000,TimeUnit.MILLISECONDS); 

답변

3

아래에서 무슨 : 예를 들어

는 안 바운드 형식의 큐없이 동작하는 단일 작업자 스레드를 사용하는 집행자를 작성합니다. (이 단일 스레드 전에 종료에 실행 중에 장애로 인해 를 종료하면 다음 작업을 실행하는 데 필요한 경우, 새가 그 자리를 취할 것입니다 그러나 참고.) 작업은 순차적을 실행을 보장하지 않으며,보다 더됩니다 한 번에 하나의 작업이 이됩니다. 달리 등가 인 것과 달리 newFixedThreadPool (1) 반환 된 실행 프로그램은 이 추가 스레드를 사용하도록 재구성되지 않도록 보장됩니다.

http://download.java.net/jdk7/archive/b123/docs/api/java/util/concurrent/Executors.html#newSingleThreadExecutor(java.util.concurrent.ThreadFactory)