Thread和Runnable的区别以及联系

  • 多线程的创建方式

  • 方式一:继承于Thread类

        1. 创建一个继承于Thread类的子类
        2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中
        3. 创建Thread类的子类的对象
        4. 通过此对象调用start()

  • 方式二:实现Runnable接口

       1. 创建一个实现了Runnable接口的类
       2. 实现类去实现Runnable中的抽象方法:run()
       3. 创建实现类的对象
       4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
       5. 通过Thread类的对象调用start()

  • 两种方式的之间的联系 和 区别

       联系:

       public class Thread implements Runnable,Thread实现Runnable接口。

       两种方式都需要重写run(),将线程要执行的逻辑声明在run()中。

       区别:

开发中:优先选择:实现Runnable接口的方式
 原因:1. 实现的方式没有类的单继承性的局限性;
            2. 实现的方式更适合来处理多个线程有共享数据的情况。

发布了49 篇原创文章 · 获赞 34 · 访问量 6893

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/104084124