Java多线程与网络编程:从基础到应用
1. 多线程编程进阶
1.1 Callable和Future接口
在多线程编程中, Runnable
接口虽然提供了基本的多线程功能,但存在一些局限性。例如, Runnable
的 run
方法不能抛出受检查异常,也无法返回值。为了解决这些问题,Java 引入了 Callable
和 Future
接口。
Callable
接口位于 java.util.concurrent
包中,它声明了一个名为 call
的方法。与 Runnable
类似, Callable
允许在单独的线程中并发执行操作,但 call
方法可以返回值或抛出受检查异常。
当创建一个 Callable
后,通常希望它能与其他 Runnable
和 Callable
并发运行。 ExecutorService
接口提供了 submit
方法,该方法可以执行传入的 Callable
,并返回一个 Future
对象。 Future
接口代表正在执行的 Callable