小白学java第46天
创建线程的两种方式:
1.继承Thread
2.实现Runnable接口
继承Thread注意:
1.当一个类继承了Thread类,该类就可以当做线程使用
2.一般重写run方法,写上自己的业务代码
3.run Thread类 实现了Runnable接口的run方法
实现Runnable接口注意:
java是单继承的,在某些情况下一个类可能已经继承了某个父类,这是再用继承Thread类方法来创建线程显然是不可能的,这时就需要通过实现Runnable接口来创建线程
继承Thread vs实现Runnable的区别:
1. 从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口
2.实现Runnable接口方式更加适合多个线程共享一个资源的情况,并且避免了单继承的限制
注意:
1.start底层会创建新的线程,调用run, run 就是一个简单的方法调用,不会启动新线程
2.线程优先级的范围
3. interrupt,中断线程,但并没有真正的结束线程,一般用于中断正在休眠的线程
4.sleep:线程的静态方法,使当前线程休眠