java多线程基本使用(实际项目中的使用)

(不喜勿喷,不够完善)
Java多线程实现方式主要有四种:
1.继承Thread类
2.实现Runnable接口
3.实现Callable接口通过FutureTask包装器来创建Thread线程
4.使用ExecutorService、Callable、Future实现有返回结果的多线程。

前两种方式线程执行完后都没有返回值,后两种是带返回值的。

前三种实现方式的比较:
(1)线程的start()直接调用的是FutureTask这个类的run方法,而 Callable 的call方法是在run方法内部调用的,因此可以得出extends Thread 和 implements Runnable的run方法是由线程直接调用的,是异步执行的,而call方法是被future调用的,不是异步执行的。
(2)实现Callable接口可以有返回值和抛出异常。

具体代码贴图如下:(本人这里使用的是实现Runnable接口方法)
java多线程基本使用(实际项目中的使用)