实现线程主要有两种方式
- 方式一
1.1 自定义类继承Thread接口
1.2 重写run方法
1.3 生成自定义类的实例对象
1.4 调用对象的start方法
- 方式二
2.1 自定义类实现runnable接口
2.2 重写run方法
2.3 创建自定义类实例对象
2.4 创建thread类对象,调用thread的构造方法thread(Runnable r) 把runnable作为参数传过去
2.5 调用thread对象的start方法
Q:哪种方法好
A:第二张好,Java是单继承多实现,第二种可以继承其他父类
Q:sleep方法和wait方法区别
A:我自己理解是 sleep可以出现在任何地方,wait只能出现在锁内部,sleep设置睡眠时间后进入阻塞状态,到点后线程进入可执行状态,wait进入等待队列,只能通过同一个锁对象的notify唤醒,sleep不释放锁,wait释放锁,wait是object类的方法,sleep是thread类的方法