Java多线程——实现Callable接口创建线程
创建多线程还会有其他方式,我们再介绍一种:
(1) 继承Thread类,重写run()方法,run()方法代表线程要执行的任务。
(2) 实现Runnable接口,重写run()方法,run()方法代表线程要执行的任务。
(3) 实现Callable接口,重写call()方法,call()作为线程的执行体,具有返回值,并且可以对异常进行声明和抛出;使用start()方法来启动线程。
前两种在视频中都有详细介绍,此处将对第三种创建多线程的方式进行介绍。
步骤
(1) 创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值。
(2) 创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。
(3) 使用FutureTask对象作为Thread对象的target创建并启动新线程。
(4) 调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。
案例:实现Callable接口创建线程
![](https://img-blog.csdnimg.cn/685e7b6bc61a4e65b0875ec0a12ca699.png#pic_center)
测试线程:
![](https://img-blog.csdnimg.cn/85141cd8d66c4170a1b436c8c3557d0d.png#pic_center)
运行结果:
多线程的第三种创建方式