简单解析三种JAVA调用方式-同步,异步,回调
模块之间有三种调用方式:
1、同步调用
同步调用很简单,就是直接调用方法B,必须等到方法A执行完才会继续执行原程序。
2、异步调用
异步调用,就是在A程序中给程序B一个实现,当B运行的时候,在满足条件的情况下能够调用A程序中的实现。举例说明
public interface Food {void eat();}public class Cow implements Food {@overridevoid eat(){syso("eat cow");}}public class Tiger {private Food food;public void setFood(Food food){this.food =food;}void hungry(){syso("hungry");if(eat!=null)food.eat();}public void static main(String[] args){Tiger tiger=new Tiger();tiger.setFood(new Cow());tiger.hungry();}}
老虎饿了,假如有食物就可以吃它,现在牛就相当于程序A 实现了这个接口,
老虎就相当于程序B,里面包含这个接口,
现在将牛送到老虎的嘴边,就是setFood
老虎饿了就要吃牛了,这个时候就调用了A程序实现的这个接口。
3、回调
这个写过android程序的肯定会非常熟悉啦,回调其实就是上面两个的组合。
比如一般我们在实例化一个Button类,会给它设置一个OnClickListener,这个就相当于上面的异步调用,但是这个异步调用又是由Button自己引发的,button的 performClick()模拟点击事件然后会执行自定义的OnClickListener。
转载于:https://www.cnblogs.com/maydow/p/4740831.html
简单解析三种JAVA调用方式-同步,异步,回调相关推荐
- 三种创建线程方式之Callable接口
一.类继承关系及API解析 Callable接口 @FunctionalInterface public interface Callable<V> {V call() throws Ex ...
- 框架源码系列九:依赖注入DI、三种Bean配置方式的注册和实例化过程
一.依赖注入DI 学习目标 1)搞清楚构造参数依赖注入的过程及类 2)搞清楚注解方式的属性依赖注入在哪里完成的. 学习思路 1)思考我们手写时是如何做的 2)读 spring 源码对比看它的实现 3) ...
- Mongodb的三种集群方式的搭建
Mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式.关于Mongodb的特点,这里就不多介绍了,大家可以去看看官方说明:http://docs.mong ...
- 了解mysql的三种不同安装方式的区别
学习目的:了解mysql的三种不同安装方式的区别 学习内容: mysql 的安装有三种:分别是源码安装.二进制安装.rpm安装. 源码安装的优势:linux操作系统开放源代码,因此在其上面安装的软件大 ...
- LVS:三种负载均衡方式比较+另三种负载均衡方式
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- java单例模式 三种_三种java单例模式概述
在java语言的应用程序中,一个类Class只有一个实例存在,这是由java单例模式实现的.Java单例模式是一种常用的软件设计模式,java单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种.下 ...
- 【Python自动化任务】让运维更简单的7种定时任务实现方式,总有一种适合你的场景
想要看更加舒服的排版.更加准时的推送 关注公众号"不太灵光的程序员" 每日八点有干货推送 有粉丝留言问什么时候可以写一个关于自动化任务的文章 准备上!~ 感觉有用关注公众号 &qu ...
- ios首次加载web_IOS_IOS中UIWebView的使用详解,一、初始化与三种加载方式
UI - phpStudy...
IOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种 ...
- lvs的调度算法有几种_LVS:三种负载均衡方式比较
1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很 ...
- asp.net session 介绍一三种Session存储方式
asp.net session 介绍一三种Session存储方式 www.firnow.com 时间:2009-03-04 作者:匿名 编辑:sky 点击: 1478 [评论] 对于asp.net的程 ...
最新文章
- 第0周---python网络爬虫前奏
- 编程软件python中的if用法-Python高效编程的19个技巧
- ubuntu系统和ROS系统的版本对应关系
- el-amap 第一次正常第二次报错_flutter run: build tools revision 报错解决
- 计算机应用技术基础-2答案,2017年计算机应用技术基础练习题及答案
- Django--模板语言
- m1MacBook的TensorFlow虚拟环境---pytables的安装
- linux的重要文件,Linux中重要文件夹介绍
- Android NDK开发之 Neon优化
- 视频追踪(meanshift和camshift算法)
- springboot内嵌tomcat如何优雅开启http端口
- Sqlserver中的日期类型值不能小于1753年
- 阿里云网盘内测地址,阿里云网盘申请内测资格链接
- 请打开正确的提问方式
- 人工智能学习(八斗学院)
- 【损失函数系列】softmax loss损失函数详解
- 电力电子学习 2
- python文件夹操作_Python文件夹与文件的操作 ZZ
- ECMAScript重点复习(一)
- iOS Secure Enclave