方式一:继承Thread类,覆盖run方法。
步骤:
1,定义类继承Thread类。
2,覆盖Thread类中的run方法。
3,创建Thread类的子类对象创建线程对象。
4,调用线程对象的start方法开启线程。
方式二:
1,定义一个类实现Runnable接口。
2,覆盖Runnable接口中的run方法。
将线程要运行的代码存储到run方法中。
3,创建该接口的子类对象。
4,通过Thread类进行线程的创建,并将Runnable接口的子类对象作为Thread类的构造函数的实参进行传递。
为什么要传递呢?
让线程对象创建时,就要明确要运行哪个run方法,而这个run方法是需要被对象调用的,
所以将run方法所属的对象传递给Thread类的构造函数。
5,调用Thread类中的start方法开启线程。
|