多线程 之 静态代理

什么是静态代理?

  • 静态代理是一种思想,找一个代理负责一些琐事,自己则专注于一件大事。

有哪些具体的表现?

  • 在日常生活中做饭就是这样,会做饭的人需要做饭,那么其他的人就来帮他打杂,这样做饭的人就可以专注地做一件事,效率也会更高。

接下来,我们用代码来实现:

package lesson01;
​
public class StaticManagerDemo01 {
    public static void main(String[] args) {
        Chief chief = new Chief();
        Helper helper = new Helper(chief);
        helper.work();
    }
}
interface Cook{
    void work();//1.写一个接口
}
class Chief implements Cook{
​
    @Override
    public void work() {//实现接口,主厨要干哈?
        for (int i = 0; i < 5; i++) {
            System.out.println("我要做第"+i+"菜了");
        }
    }
}
class Helper implements Cook{
    private Chief chief;
​
    public Helper(Chief chief) {//传入主厨对象
        this.chief = chief;
    }
​
    @Override
    public void work() {//打下手的要干啥?
        chief.work();//调用主厨的函数
        System.out.println("菜做完了,该我端菜了");
    }
}

 多线程 之 静态代理_第1张图片

总结:静态代理这个思想就是多个类继承一个接口,然后让一个类实现重要的功能,让其他类来扩展功能。

在线程中,thread就是运用了这样的思想:

  • 通过实现Runnable接口来创建线程:

    • 创建Class MyRunner 实现 Runnable 接口

    • Thread内置类实现的Runnable接口

    • 所以启动线程时,new Thread(new MyRnner).start();

你可能感兴趣的:(java,开发语言)