> Java > java지도 시간 > Java 예외 프로그래밍 FutureTask 인스턴스 분석

Java 예외 프로그래밍 FutureTask 인스턴스 분석

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2023-06-03 17:10:05
앞으로
1516명이 탐색했습니다.

Explanation

1. FutureTask 클래스는 Future 인터페이스를 구현할 뿐만 아니라 결과를 생성할 수 있는 Runnable을 나타내는 Runnable 인터페이스도 구현합니다.

2. FutureTask 클래스는 작업 시작 및 취소, 작업 완료 여부 쿼리, 계산 결과 가져오기 등 Future 인터페이스의 메서드를 구현합니다.

FutureTask 작업의 결과를 얻으려면 getXXX() 일련의 메서드를 호출해야만 얻을 수 있습니다. 이 메서드는 결과가 아직 나오지 않은 경우 차단됩니다. 호출 가능 유형(반환된 결과 포함) 또는 실행 가능 유형(반환 결과 없음)입니다.

인스턴스

private static void testFutureTask() throws ExecutionException, InterruptedException {
    System.out.println("-------------------- testFutureTask --------------------");
 
    // 创建一个 FutureTask(doOneThing 任务)
    FutureTask<String> futureTask = new FutureTask<>(FutureTaskDemo::doOneThing);
    // 使用线程池执行 doOneThing 任务
    ForkJoinPool.commonPool().execute(futureTask);
 
    // 执行 doOtherThing 任务
    String doOtherThingResult = doOtherThing();
 
    // 同步等待线程执行 doOneThing 任务结束
    String doOneThingResult = futureTask.get();
 
    // 任务执行结果输出
    System.out.println("doOneThingResult ---->>> " + doOneThingResult);
    System.out.println("doOtherThingResult ---->>> " + doOtherThingResult);
}
로그인 후 복사

위 내용은 Java 예외 프로그래밍 FutureTask 인스턴스 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿