|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.concurrent.Executors
public class Executors
이 패키지로 정의된 Executor
,ExecutorService
,ScheduledExecutorService
,ThreadFactory
, 및 Callable
클래스용의 팩토리 및 유틸리티 메소드입니다. 이 클래스는, 다음의 종류의 메소드를 지원합니다.
ExecutorService
를 작성해, 돌려주는 메소드.
ScheduledExecutorService
를 작성해, 돌려주는 메소드.
ThreadFactory
를 작성해, 돌려주는 메소드.
Callable
를 작성해, 돌려주는 메소드.
메소드의 개요 | ||
---|---|---|
static Callable <Object > |
callable (PrivilegedAction <? > action)
호출시에, 지정된 특권 첨부 태스크를 실행해, 그 결과를 돌려주는, Callable 객체를 돌려줍니다. |
|
static Callable <Object > |
callable (PrivilegedExceptionAction <? > action)
호출시에, 지정된 특권 첨부 예외 액션을 실행해, 그 결과를 돌려주는, Callable 객체를 돌려줍니다. |
|
static Callable <Object > |
callable (Runnable task)
호출시에, 지정된 태스크를 실행해,null 를 돌려주는, Callable 객체를 돌려줍니다. |
|
static
|
callable (Runnable task,
T result)
호출시에, 지정된 태스크를 실행해, 지정된 결과를 돌려주는, Callable 객체를 돌려줍니다. |
|
static ThreadFactory |
defaultThreadFactory ()
신규 thread의 작성에 사용하는 디폴트의 thread 팩토리를 돌려줍니다. |
|
static ExecutorService |
newCachedThreadPool ()
필요하게 응해 신규 thread를 작성하는 thread 풀을 작성합니다만, 이용 가능한 경우에는 이전에 구축된 thread를 재사용합니다. |
|
static ExecutorService |
newCachedThreadPool (ThreadFactory threadFactory)
필요하게 응해 신규 thread를 작성하는 thread 풀을 작성합니다만, 이용 가능한 경우에는 이전에 구축된 thread를 재사용합니다. |
|
static ExecutorService |
newFixedThreadPool (int nThreads)
공유 안 바운드 형식의 큐없이 동작하는, 고정수의 thread를 재사용하는 thread 풀을 작성합니다. |
|
static ExecutorService |
newFixedThreadPool (int nThreads,
ThreadFactory threadFactory)
공유 안 바운드 형식의 큐없이 동작하는, 고정수의 thread를 재사용하는 thread 풀을 작성합니다. |
|
static ScheduledExecutorService |
newScheduledThreadPool (int corePoolSize)
지정된 지연 시간 후, 또는 주기적으로 커멘드의 실행을 스케줄 할 수 있는, thread 풀을 작성합니다. |
|
static ScheduledExecutorService |
newScheduledThreadPool (int corePoolSize,
ThreadFactory threadFactory)
지정된 지연 시간 후, 또는 주기적으로 커멘드의 실행을 스케줄 할 수 있는, thread 풀을 작성합니다. |
|
static ExecutorService |
newSingleThreadExecutor ()
안 바운드 형식의 큐없이 동작하는, 단일의 워커 thread를 사용하는 executor 를 작성합니다. |
|
static ExecutorService |
newSingleThreadExecutor (ThreadFactory threadFactory)
안 바운드 형식의 큐없이 동작하는, 단일의 워커 thread를 사용하는 executor 를 작성합니다. |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor ()
지정된 지연 시간 후, 또는 주기적으로 커멘드의 실행을 스케줄 할 수 있는, 단일 thread의 executor 를 작성합니다. |
|
static ScheduledExecutorService |
newSingleThreadScheduledExecutor (ThreadFactory threadFactory)
지정된 지연 시간 후, 또는 주기적으로 커멘드의 실행을 스케줄 할 수 있는, 단일 thread의 executor 를 작성합니다. |
|
static
|
privilegedCallable (Callable <T> callable)
호출시에, 현재의 액세스 제어 문맥으로 지정된 callable 를 실행하는, Callable 객체를 돌려줍니다. |
|
static
|
privilegedCallableUsingCurrentClassLoader (Callable <T> callable)
호출시에, 현재의 액세스 제어 문맥으로, 현재의 문맥 클래스 로더를 콘텍스트 클래스 로더로 하는, 지정된 callable 를 실행하는, Callable 객체를 돌려줍니다. |
|
static ThreadFactory |
privilegedThreadFactory ()
현재의 thread와 같은 액세스권을 가지는 신규 thread를 작성하기 위해서 사용하는 thread 팩토리를 돌려줍니다. |
|
static ExecutorService |
unconfigurableExecutorService (ExecutorService executor)
정의 끝난 모든 ExecutorService 메소드가 지정된 executor 에 위양 하지만, 캐스트를 사용해 액세스 가능한 다른 메소드는 위양 하지 않는 객체를 돌려줍니다. |
|
static ScheduledExecutorService |
unconfigurableScheduledExecutorService (ScheduledExecutorService executor)
정의 끝난 모든 ScheduledExecutorService 메소드가 지정된 executor 에 위양 하지만, 캐스트를 사용해 액세스 가능한 다른 메소드는 위양 하지 않는 객체를 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
메소드의 상세 |
---|
public static ExecutorService newFixedThreadPool(int nThreads)
종료
을 할 때까지는, thread는 풀내에 존재합니다.
nThreads
- 풀내의 thread수
IllegalArgumentException
- nThreads <= 0 의 경우public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
종료
을 할 때까지는, thread는 풀내에 존재합니다.
nThreads
- 풀내의 thread수threadFactory
- 신규 thread의 작성시에 사용하는 팩토리
NullPointerException
- threadFactory 가 null 의 경우
IllegalArgumentException
- nThreads <= 0 의 경우public static ExecutorService newSingleThreadExecutor()
public static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory)
threadFactory
- 신규 thread의 작성시에 사용하는 팩토리
NullPointerException
- threadFactory 가 null 의 경우public static ExecutorService newCachedThreadPool()
ThreadPoolExecutor
생성자 을 사용해 작성할 수 있습니다.
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory)
threadFactory
- 신규 thread의 작성시에 사용하는 팩토리
NullPointerException
- threadFactory 가 null 의 경우public static ScheduledExecutorService newSingleThreadScheduledExecutor()
public static ScheduledExecutorService newSingleThreadScheduledExecutor(ThreadFactory threadFactory)
threadFactory
- 신규 thread의 작성시에 사용하는 팩토리
NullPointerException
- threadFactory 가 null 의 경우public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
corePoolSize
- 풀내 로 유지하는 thread의 수 (IDLE 상태의 thread도 포함한다)
IllegalArgumentException
- corePoolSize < 0 의 경우public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)
corePoolSize
- 풀내 로 유지하는 thread의 수 (IDLE 상태의 thread도 포함한다)threadFactory
- executor 가 신규 thread를 작성할 때에 사용하는 팩토리
IllegalArgumentException
- corePoolSize < 0 의 경우
NullPointerException
- threadFactory 가 null 의 경우public static ExecutorService unconfigurableExecutorService(ExecutorService executor)
ExecutorService
메소드가 지정된 executor 에 위양 하지만, 캐스트를 사용해 액세스 가능한 다른 메소드는 위양 하지 않는 객체를 돌려줍니다. 이것에 의해, 구성을 안전하게 「freeze」해, 지정된 고유 구현의 튜닝을 허가하지 않게 할 수 있습니다.
executor
- 기본으로 되는 구현
NullPointerException
- executor 가 null 의 경우public static ScheduledExecutorService unconfigurableScheduledExecutorService(ScheduledExecutorService executor)
ScheduledExecutorService
메소드가 지정된 executor 에 위양 하지만, 캐스트를 사용해 액세스 가능한 다른 메소드는 위양 하지 않는 객체를 돌려줍니다. 이것에 의해, 구성을 안전하게 「freeze」해, 지정된 고유 구현의 튜닝을 허가하지 않게 할 수 있습니다.
executor
- 기본으로 되는 구현
NullPointerException
- executor 가 null 의 경우public static ThreadFactory defaultThreadFactory()
ThreadGroup
내의 executor 가 사용하는 모든 신규 thread를 작성합니다. SecurityManager
가 존재하는 경우,System.getSecurityManager()
의 그룹이 사용되어 존재하지 않는 경우는 이 defaultThreadFactory 메소드를 호출하는 thread 그룹이 사용됩니다. 각 신규 thread는, 비demon thread로서 작성됩니다. 또, thread의 우선 순위는,Thread.NORM_PRIORITY 또는 thread 그룹의 최고 허용 우선 순위의 언젠가 작은 (분)편으로 설정됩니다. 신규 thread는,pool-N-thread-M 의 Thread.getName()
를 개입시켜 액세스 가능한 이름을 가집니다. 여기서,N 는 이 팩토리의 일련 번호,M 는 이 팩토리에 의해 작성된 thread의 일련 번호입니다.
public static ThreadFactory privilegedThreadFactory()
defaultThreadFactory()
와 같은 설정을 가지는 thread를 작성합니다. 또, 신규 thread의 AccessControlContext 및 contextClassLoader 를, 이 privilegedThreadFactory 메소드를 호출하는 thread와 같게 설정합니다. 신규 privilegedThreadFactory 는,AccessController.doPrivileged(java.security.PrivilegedAction)
액션내에서 작성할 수 있습니다. 그 때, 현재의 thread의 액세스 제어 문맥을 설정해, 액션내에 선택한 액세스권 설정을 보관 유지하는 thread를 작성합니다.
이러한 thread내에서 실행중의 태스크는, 현재의 thread와 같은 액세스 제어 및 클래스 로더를 보관 유지합니다만, 같은 ThreadLocal
나 InheritableThreadLocal
치를 보관 유지할 필요는 없습니다. ThreadPoolExecutor.beforeExecute(java.lang.Thread, java.lang.Runnable)
를 사용해 ThreadPoolExecutor
서브 클래스에서 태스크를 실행하기 전에, 필요하게 응해 thread 로컬의 특정의 값을 설정 또는 리셋 할 수 있습니다. 또, 워커 thread를 초기화해, 다른 지정된 thread와 같은 InheritableThreadLocal 설정으로 하는 것이 필요한 경우, 커스텀 ThreadFactory 를 작성해, 내부에서 값을 상속하는 것 외의 thread의 작성의 요구를 thread가 대기 및 처리하도록 할 수 있습니다.
AccessControlException
- 현재의 액세스 제어 문맥이, 문맥 클래스 로더의 취득과 설정의 양쪽 모두의 액세스권을 보관 유지하지 않는 경우public static <T> Callable <T> callable(Runnable task, T result)
Callable
객체를 돌려줍니다. 이것은,Callable 를 필요로 하는 메소드를, 다른 방법에서는 결과의 나오지 않는 액션에 적용하는 경우에 도움이 됩니다.
task
- 실행하는 태스크result
- 돌려주는 결과
NullPointerException
- 태스크가 null 의 경우public static Callable <Object > callable(Runnable task)
Callable
객체를 돌려줍니다.
task
- 실행하는 태스크
NullPointerException
- 태스크가 null 의 경우public static Callable <Object > callable(PrivilegedAction <? > action)
Callable
객체를 돌려줍니다.
action
- 실행하는 특권 첨부 액션
NullPointerException
- 액션이 null 의 경우public static Callable <Object > callable(PrivilegedExceptionAction <? > action)
Callable
객체를 돌려줍니다.
action
- 실행하는 특권 첨부 예외 액션
NullPointerException
- 액션이 null 의 경우public static <T> Callable <T> privilegedCallable(Callable <T> callable)
Callable
객체를 돌려줍니다. 일반적으로, 이 메소드는,AccessController.doPrivileged(java.security.PrivilegedAction)
액션내에서 불려 가 호출 가능 레이아웃을 작성합니다. 호출 가능 레이아웃은, 가능한 경우는 그 액션내에 보관 유지되고 있는 선택한 액세스권 설정에 따라 실행해, 가능하지 않은 경우는 관련지을 수 있었던 AccessControlException
를 throw 합니다.
callable
- 기본이 되는 태스크
NullPointerException
- 호출 가능 레이아웃이 null 의 경우public static <T> Callable <T> privilegedCallableUsingCurrentClassLoader(Callable <T> callable)
Callable
객체를 돌려줍니다. 일반적으로, 이 메소드는,AccessController.doPrivileged(java.security.PrivilegedAction)
액션내에서 불려 가 호출 가능 레이아웃을 작성합니다. 호출 가능 레이아웃은, 가능한 경우는 그 액션내에 보관 유지되고 있는 선택한 액세스권 설정에 따라 실행해, 가능하지 않은 경우는 관련지을 수 있었던 AccessControlException
를 throw 합니다.
callable
- 기본이 되는 태스크
NullPointerException
- 호출 가능 레이아웃이 null 의 경우
AccessControlException
- 현재의 액세스 제어 문맥이, 문맥 클래스 로더의 취득과 설정의 양쪽 모두의 액세스권을 보관 유지하지 않는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.