Java创建线程的几种方式
新建线程只需要使用new关键字创建一个线程对象,并且将它start()起来即可。
1.继承Thread类
继承Thread类,重写run()方法即可
2.实现Runnable接口(优先使用这种方法)
实现Runnable接口,重写run()方法,然后借助Thread的start()方法开启线程。要注意的是,没有start(),直接调用run()方法,只是作为一个普通的方法调用,并不能新建一个线程。
Runnable接口是一个只有run()方法的单方法接口,Thread类有一个构造方法:
Public Thread(Runnable targer),借助这个构造方法去构造实现了Runnable接口的线程。
3.通过Callable、Future
实现Callable接口重写call()方法,使用Future的get()方法进行获取。
具体过程为:
1.自定义一个类实现Callable接口,重写call()方法
2.使用JUC包下的ExecutorService,生成一个对象,主要使用submit()方法,返回得到Future对象
3.采用Future的get()方法获取返回值
4.通过JUC里面的线程池