并发编程 Runnable 和 Callable

本文将介绍并发编程中的 Runnable 和 Callable。

一、Runnable

对线程所要执行任务的规定。

  • 没有返回值
  • 无法抛出异常
1
2
3
4
5
6
@FunctionalInterface
public interface Runnable {

public abstract void run();

}

二、Callable

对线程所要执行的有返回值任务的规定。

  • 有返回值
  • 可以抛出异常
1
2
3
4
5
6
@FunctionalInterface
public interface Callable<V> {

V call() throws Exception;

}

三、Runnable 转 Callable

Executors.callable(Runnable task, T result) 可以将 Runnable 转换为 Callable。

参考

  • Java 并发编程实战