前言
前面我们说到了实现多线程的两种方式,分别是实现Runnable接口和继承Thread类。那么实现Callable接口和他们有什么区别呢?
通过Callable接口实现多线程
1 | package com.example.socket.multithreading; |
Callable与Runnable的异同
- 通过实现Callable接口我们可以获取方法的返回值
- 通过实现Callable接口我们可以抛出异常
- 通过实现Callable接口我们可以使用泛型定义方法的返回值
前面我们说到了实现多线程的两种方式,分别是实现Runnable接口和继承Thread类。那么实现Callable接口和他们有什么区别呢?
1 | package com.example.socket.multithreading; |