线程创建方式的区别

通常情况下,线程创建方式有如下2种,它们的区别如下:

线程创建方式的区别
继承Thread类 实现Runable接口
用this直接指代当前线程对象 必须使用Thread.currentThread()去获取当前线程对象
创建的Thread子类对象即可代表线程对象,例如:new FirstThread().start() 创建的Runnable对象即只能作为线程对象的target,例如:new Thread(new SecondThread(),"线程2").start()
多个线程之间不能共享线程类的实例变量 多个线程之间可以共享线程类(实际上应该是线程的target类)的实例变量
不可以再继承其他类了 还可以继承其他类
  多个线程可以共享同一个target对象,非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现“面向对象”的思想

综上所述,通常使用实现Runnable接口的方式来创建线程。

原创文章 60 获赞 39 访问量 5万+

猜你喜欢

转载自blog.csdn.net/u012556994/article/details/81393495