|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface CompletionService<V>
새로운 비동기 태스크의 생성을, 완료필 태스크의 결과의 소비로부터 분리하는 서비스입니다. 프로듀서는, 실행용의 태스크에 대해서 submit 를 실행합니다. 컨슈머(consumer)는, 완료필의 태스크에 take 를 실행해, 결과를 완료한 순서에 처리합니다. 예를 들어,CompletionService 를 사용해, 비동기 입출력을 관리할 수 있습니다. 이 경우, 읽기를 실행하는 태스크는 프로그램 또는 시스템의 일부에 송신되어 읽기의 완료시에 프로그램의 다른 부분에서 처리됩니다. 처리의 순서는, 요구된 순서와는 다른 경우가 있습니다.
일반적으로,CompletionService 에서는, 태스크의 실제의 실행은 다른 Executor
로 행해집니다. 이 경우,CompletionService 는, 내부의 완료 큐만을 관리합니다. ExecutorCompletionService
클래스는, 이 수법의 구현을 제공합니다.
메모리 무결성 효과:태스크를 CompletionService
에 송신하기 전의 thread내의 액션은, 그 태스크에 의해 행해지는 액션보다「전에 발생」해, 한편 그것은, 대응하는 take()
로부터 정상적으로 복귀한 뒤의 액션보다 「전에 발생」합니다.
메소드의 개요 | |
---|---|
Future <V > |
poll ()
다음의 완료필 태스크를 나타내는 Future 를 취득해 삭제합니다. |
Future <V > |
poll (long timeout,
TimeUnit unit)
다음의 완료필 태스크를 나타내는 Future 를 취득해 삭제합니다. |
Future <V > |
submit (Callable <V > task)
값을 돌려주는 실행용 태스크를 송신해, 보류 상태의 태스크 결과를 나타내는 Future 를 돌려줍니다. |
Future <V > |
submit (Runnable task,
V result)
실행용의 Runnable 태스크를 송신해, 그 태스크를 나타내는 Future 를 돌려줍니다. |
Future <V > |
take ()
다음의 완료필 태스크를 나타내는 Future 를 취득해 삭제합니다. |
메소드의 상세 |
---|
Future <V > submit(Callable <V > task)
task
- 송신하는 태스크
RejectedExecutionException
- 태스크의 실행을 스케줄 할 수 없는 경우
NullPointerException
- 태스크가 null 의 경우Future <V > submit(Runnable task, V result)
task
- 송신하는 태스크result
- 정상적으로 완료했을 경우에 돌려주는 결과
RejectedExecutionException
- 태스크의 실행을 스케줄 할 수 없는 경우
NullPointerException
- 태스크가 null 의 경우Future <V > take() throws InterruptedException
InterruptedException
- 대기중에 인터럽트가 발생했을 경우Future <V > poll()
Future <V > poll(long timeout, TimeUnit unit) throws InterruptedException
timeout
- 처리를 중지할 때까지의 대기 시간. 단위는 unitunit
- timeout 파라미터의 해석 방법을 결정하는 TimeUnit
InterruptedException
- 대기중에 인터럽트가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.