线程的创建方式有三种:
1.继承Thread类:创建一个新的类并继承Thread,重写其中的run(),创建类的实例,调用start()。这种一般不用。
2.实现Runnable接口:
创建一个实现Runable的接口类,实现run方法,在主线程创建RunnaeThread,调用start()。
?其中还可以使用匿名匿名内部类的方式实现匿名类实现RunnableThread,实现run(),创建线程时例并启动线程。
?
?3.使用Callable接口、futureTask类来实现可以得到线程返回的返回值:
首先创建任务对象,定义一个类实现Callable接口,重写call方法,封装要做的事情,和要返回的数据。
把Callable类型的对象封装成FutureTask(线程任务对象)
把线程任务对象交给Thread对象。
调用Thread对象的start方法启动线程。
线程执行完毕后,通过FutureTask对象的get方法获取线程任务执行的结果。
以上就是线程的三种创建方式。
线程的生命周期:?
?