实现Runnable接口

如图所示:

 

 继承Thread类与实现Runnable接口:分析

 1. 开启线程的方法不一致;

  •      继承Thread()类

            子类对象.start()方法

  •      实现runnable()接口

             传入目标对象(Thread对象).start()方法

 2. Thread是extend Thread,而实现runnable接口是implements Runnable;

 3. Thread内部实现了Runnable接口;

两者优势

1.  不建议使用继承Thread类,有OOP单继承局限性;

2. 推荐使用实现Runnable接口,方便同一个对象被多个线程使用;

分析:

    如果使用实现Runnable接口,那么线程池中常量可以共享,并实现多线程业务处理,可以多个线程同时处理一个业务;

    如下图所示,继承Thread类,直接创建两个线程会报错,也就是OOP的单继承局限性(此对象不能够操作两次)

      发现问题,多个线程操作同一个资源的情况下,线程不安全,数据紊乱,如下图所示

解决:并发问题解决 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值