java多线程编程15-16(使用多线程优点)


//使用runnable接口实现多线程的优点
//使用继承Thread类的方式来开发多线程应用在设计上是有局限的,
// 因为java是单继承,不支持多继承,所以为了改变这种限制.
// 可以使用实现Runnable接口的方式来实现多线程

public class TestDemo {
    public  void  a_save_method(){
        System.out.println("a中的保存数据方法被执行");
    }
}

// java中不支持多继承
//class Bserver1 extends TestDemo,Thread{
//    public  void  b_save_method(){
//        System.out.println("a中的保存数据方法被执行");
//    }
//}

//所以 就有使用runnable接口的必要性了
class Bserver2 extends TestDemo implements Runnable{
    public  void  b_save_method(){
        System.out.println("a中的保存数据方法被执行");
    }

    @Override
    public void run() {
        b_save_method();
    }
}
//程序不在出现异常,通过实现runnable 接口 可以实现“多继承”的效果
//另外需要说明的是Thread 也继承了runnable接口,

//这就意味着构造函数Thread(Runnable target)不仅可以传入Runnable接口的对象,
//还可以传入一个Thread类的对象,这样完全可以将一个Thread对象中的run方法交给其他线程去调用
//代码如下:

class MyThread3 extends Thread{
    @Override
    public void run() {
        System.out.println("mythread3");
    }
}

class Test{
    public static void main(String[] args) {
        MyThread3 myThread3 =new MyThread3();
//      Mythread3 是 Thread的子类
//      Thread 是Runnable的子类
//      所以MyThread也相当于Runnable的实现类
        Thread t=new Thread();
        t.start();

    }
}
//在非多继承的情况下,使用继承Thread类和实现Runnable接口这两种方式在取得程序运行结果时没有太大的区别
//但一旦出现多继承的情况下 建议采用实现Runnable接口的方式来处理多线程的问题
//另外 使用Runnable 接口方式实现多线程可以把“线程”和”任务“分离,Thread代表线程,而Runnable代表可运行的任务
//Runnable里面包含Thread 线程要执行的代码,这样处理可以实现多个Thread公用一个Runnable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值