1.编写一个类继承thread线程类,重写run方法,直接new线程对象,在主方法中调start方法启动线程
2.(1)编写一个类实现可运行接口Runnable,重写run方法,new线程对象,将编写的类封装到线程对象中,在主线程中调用start方法,启动线程
(2)直接在线程对象实例中new一个实现了可运行接口Runnable的匿名内部类,重写run方法,在主线程中调用start方法,启动线程
3.使用FutureTask + 实现Callable接口的方式(匿名内部类)
优点:可以得到线程执行结果
缺点:在t线程获取线程执行结果的时候,会对当前线程造成阻塞,导致效率较低