码迷,mamicode.com
首页 > 编程语言 > 详细

线程创建之继承(一)

时间:2019-07-24 19:19:41      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:run   --   idt   runnable   before   img   rac   ati   tortoise   

一、继承实现多线程

Rabit.java

package cn.thread;
/*
 * 模拟龟兔赛跑
 * 1.创建多线程 继承Thread   +重run(线程体)
 */
public class Rabit extends Thread {

    @Override
    public void run() {
        for(int i=0;i<100;i++) {
            System.out.println("兔子跑了"+i+"步");
        }
    }
    
}
class Tortoise extends Thread {

    @Override
    public void run() {
        for(int i=0;i<100;i++) {
            System.out.println("乌龟跑了"+i+"步");
        }
    }
    
}

RabitApp.java

package cn.thread;

public class RabitApp {
    public static void main(String[] args) {
        //1.创建子类对象
        Rabit rab=new Rabit();
        Tortoise tor=new Tortoise();
        //2.调用start()方法
        rab.start();
        tor.start();
        
        
        for(int i=0;i<1000;i++) {
            System.out.println("main--"+i);
        }
        
    }
}

效果

技术图片

二、Runnable接口实现多线程

 与继承方式比较:

技术图片

 

   1.静态代理(StaticProxy)

StaticProxy.java

package cn.thread;
/*
 * 静态代理 设计模式
 * 1、真实角色
 * 2、代理角色    持有真实角色的引用
 * 3、二者实现相同的接口
 */
public class StaticProxy {
    public static void main(String[] args) {
        //创建真实角色
        you y=new you();
        //创建代理角色
        WeddingCompany Company=new WeddingCompany(y);
        Company.marry();
    }
}
//接口
interface Marry{
    public abstract void marry();
}
//真实角色
class you implements Marry{

    @Override
    public void marry() {
        System.out.println("结婚了");
        
    }
    
}
//代理角色
class WeddingCompany implements Marry{
    private Marry you;
    
    public WeddingCompany() {

    }

    public WeddingCompany(Marry you) {
        this.you = you;
    }
    private void before() {
        System.out.println("布置猪窝。。。");
    }
    private void after() {
        System.out.println("收拾猪窝.。。。");
    }
    @Override
    public void marry() {
        before();
        you.marry();
        after();
        
    }
    
}

效果:

技术图片

 

线程创建之继承(一)

标签:run   --   idt   runnable   before   img   rac   ati   tortoise   

原文地址:https://www.cnblogs.com/ssxblog/p/11240159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!