>  기사  >  Java  >  Java에서 스레드 클래스를 생성하기 위해 Callable 인터페이스를 구현하는 방법

Java에서 스레드 클래스를 생성하기 위해 Callable 인터페이스를 구현하는 방법

PHPz
PHPz앞으로
2023-05-11 11:58:061004검색

Callable 인터페이스를 구현하여 스레드 클래스 만들기

Callable 인터페이스는 Java5부터 제공되었습니다. 이 인터페이스는 Runnable 인터페이스의 향상된 버전입니다. Callable 인터페이스는 call() 메서드를 제공합니다. ) 메소드는 반환 값을 가질 수 있습니다. call() 메소드는 예외를 발생시키도록 선언될 수 있습니다.

  • boolean cancel(boolean may) 이 Future에서 연관된 Callable 작업을 취소하려고 시도합니다. boolean cancel(boolean may) 试图取消该 Future 里关联的 Callable 任务。

  • V get() 返回 Call 任务里 call() 方法的返回值。调用该方法会照成线程阻塞,必须等待子线程结束后才会得到返回值。

  • V get(long timeout,TimeUnit unit) 返回 Call 任务里 call() 方法的返回值。该方法让程序最多阻塞 timeout 和 unit 指定的时间,如果经过指定的时间,如果经过指定的时间依然没有返回值,将会抛出 TimeoutException 异常。

  • boolean isCancelled() 如果在 Callable 任务正常完成前被取消,则返回 true。

  • boolean isDone() 

V get() 통화 작업에서 call() 메서드의 반환 값을 반환합니다. 이 메서드를 호출하면 스레드가 차단되며 반환 값을 가져오기 전에 하위 스레드가 끝날 때까지 기다려야 합니다.


    V get(long timeout,TimeUnit 단위) Call 작업에서 call() 메서드의 반환 값을 반환합니다. 이 메소드를 사용하면 timeout 및 unit에 지정된 시간까지 프로그램을 차단할 수 있습니다. 지정된 시간이 지났고 지정된 시간 이후에도 여전히 반환 값이 없으면 TimeoutException 예외가 발생합니다.
  1. boolean isCancelled() Callable 작업이 정상적으로 완료되기 전에 취소되면 true를 반환합니다.
  2. boolean isDone() Callable 작업이 완료되면 true를 반환합니다.
  3. 실행 가능한 구현 단계:
Callable 인터페이스의 구현 클래스를 만들고 call() 메서드를 구현합니다. call() 메서드는 스레드의 실행 본문 역할을 하며 call() 메서드에는 반환 값. 🎜🎜🎜🎜FutureTask 클래스를 사용하여 Callable 객체를 래핑합니다. 🎜🎜🎜🎜FutureTask 개체를 Thread 개체의 대상으로 사용하여 새 스레드를 만들고 시작합니다. 🎜🎜🎜🎜FutureTask 개체의 get() 메서드를 활성화하여 하위 스레드의 반환 값을 얻습니다. 🎜🎜🎜rreee

위 내용은 Java에서 스레드 클래스를 생성하기 위해 Callable 인터페이스를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제