1.创建一个子类,继承thread类,重写run方法,在主线程中创建子类对象,既是创建一个线程,然后调用是start方法,启动线程。
2.创建一个实现类实现runable接口,实现run方法,然后再主线程中创建实现类对象,然后把这个对象作为thread类的参数,创建一个thread对象,然后调用是start方法启动线程。
3.创建一个实现类实现callable接口,实现call方法。再主线程中创建实现类对象,然后把这个对象作为thread的参数,创建一个thread对象,调用start方法启动线程。
4.利用线程池创建线程。使用线程池创建线程的步骤:
(1)使用Executors类中newFixedThreadPool(int num)方法创建一个线程数量为num的线程池
(2)调用线程池中的execute()方法执行由实现Runnable接口创建的线程;调用submit()方法执行由实现Callable接口创建的线程
(3)调用线程池中的shutdown()方法关闭线程池