美文网首页技术栈
2019-02-12——方法调用

2019-02-12——方法调用

作者: 烟雨乱平生 | 来源:发表于2019-02-12 00:50 被阅读0次

软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。

  • 同步调用:即单向调用,阻塞。A调用B,需要拿到B的结果后才能继续执行,是顺序调用
public class A {

    private B b;

    public A(B b){
        this.b = b;
    }
    public void ma(){
        b.mb();
        System.out.println("this is A.ma()");
    }
}




public class B {
    public void mb(){
        System.out.println("this is B.mb()");
    }
}
  • 异步调用:非阻塞调用。A调用B,不需要拿到B的结果就能继续执行。异步调用通常采用多线程的方法来达到目的。
public class A {

    private B b;

    public A(B b){
        this.b = b;
    }
    public void ma(){
        new Thread(() -> b.mb()).start();
        System.out.println("this is A.ma()");
    }
}




public class B {
    public void mb(){
        System.out.println("this is B.mb()");
    }
}
  • 回调:双向调用。A调用B的方法,同时在B的方法中调用了A的另一个方法
public class A {

    private B b;

    public A(B b){
        this.b = b;
    }
    public void ma(){
        b.mb(this);
        System.out.println("this is A.ma()");
    }

    public void callback(){
        System.out.println("this is A.callback()");
    }
}




public class B {
    public void mb(A a){
        a.callback();
        System.out.println("this is B.mb()");
    }
}
  • 异步回调:在回调的基础上异步处理
public class A {

    private B b;

    public A(B b){
        this.b = b;
    }
    public void ma(){
        new Thread(()->b.mb(this)).start();
        System.out.println("this is A.ma()");
    }

    public void callback(){
        System.out.println("this is A.callback()");
    }
}




public class B {
    public void mb(A a){
        System.out.println("this is B.mb()");
        a.callback();
    }
}

相关文章

  • 2019-02-12——方法调用

    软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。 同步调用:即单向调...

  • Quartz2D绘图相关

    drawRect方法,会在viewWillAppear方法调用之后,viewDidAppear方法调用之前 调用。...

  • 从零开始复习Java-递归

    递归 概念 甲方法调用乙方法,这是方法的调用。 甲方法调用甲方法,自己调用自己,这就是递归。 如下例,在test方...

  • Java虚拟机系列——检视阅读(三)

    方法调用——多态 方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定调用方法的版本(即调用哪一个方法),暂...

  • Java虚拟机07--虚拟机字节码执行引擎(方法调用+基于栈的字

    方法调用 方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用的哪一个方法),暂时还...

  • JS函数的定义与调用方法

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式...

  • JavaScript和Object-OC互相调用

    一 调用的方法:## 1. OC调用js方法,只需要调用UIWebView自带的方法即可. 2.js调用OC方法,...

  • 11-this调用本类方法

        除了调用属性之外,this也可以实现方法的调用,但是对于方法的调用就必须考虑构造和普通方法: 构造方法调用...

  • Runtime学习笔记

    一.消息机制 OC调用方法是动态调用 调用未实现的方法编译不报错 方法调用的本质是发送消息 方法调用的本质是 执行...

  • 获取从地址中传过来的参数

    方法一(推荐) 调用 方法二 调用:

网友评论

    本文标题:2019-02-12——方法调用

    本文链接:https://www.haomeiwen.com/subject/iqtheqtx.html