程序中,我们经常需要使用到线程来帮我们做事情,那么创建线程有哪些方式呢?
1.继承 Thread 类,并且重写 run() 方法。
2.实现 Runnable 接口,并且重写 run() 方法。
3.实现 Callable 接口,并且重写 call() 方法。
4.使用 Executors 类创建线程池。
第一种方式直接调用 start() 方法即可。
第二种方式需要 Thread 类包装后调用 start() 方法或者使用放入线程池调用。
第三种方式需要 FutureTask 类包装后使用第二种方式,此线程有返回值,通过 FutureTask 类获取。
一般使用第二种方式:
1.因为实现 Runnable 接口可以多现实,而继承 Thread 类后就无法继承其他类。
2.解耦合,把线程对象和线程任务解耦。
如需线程中加入返回值,则使用第三种 Callable 方式。