1,继承Thread类
2,实现Runnable接口
Thread类代表线程类,最主要的两个方法是:
run():包含线程运行时所执行的代码
start():用start方法才能真正启动线程,此时线程会处于就绪状态,一旦得到时间片,则会调用线程的run方法进入运行状态。
用户的线程类只需要继承Thread类, 覆盖Thread类的run()方法即可。在Thread类中,run()方法的定义如下:
public void run(); //没有抛异常,所以子类重写亦不能抛异常
1,用户的线程类只需要继承Thread类, 覆盖Thread类的run()方法即可。
2, 一个线程只能被启动一次
3,多个线程共享同一个对象的实例变量
Java不允许一个类继承多个类,因此一旦一个类继承了Thread类,就不能再继承其他的类。为了解决这一问题,Java提供
了java.lang.Runnable接口,它有一个run()方法。