同步、异步、阻塞、非阻塞
同步、异步、阻塞、非阻塞
同步、异步、阻塞、非阻塞一、概念介绍
1、同步
是一个服务的完成需要依赖其他服务时,只有等待被依赖的服务完成后,依赖的服务才能算完成,这是一种可靠的服务序列。
2、异步
是一个服务的完成需要依赖其他服务时,只通知其他依赖服务开始执行,而不需要等待被依赖的服务完成,此时该服务就算完成了。至于被依赖的服务最终是否真正完成,无法确定,所以它是不可靠的服务序列。
3、阻塞
阻塞调用是指调用结果返回之前,当前线程会被挂起,一直处于等待消息通知,不能够执行其他业务。函数只有在得到结果之后才会返回。
4、非阻塞
非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
虽然表面上看非阻塞的方式可以明显的提高CPU的利用率,但是也带了另外一种后果就是系统的线程切换增加。
二、调用者获取依赖服务异步回调结果的方式
1、一种是主动去轮训查询异步回调的结果。
2、一种调用依赖服务时传入一个callback方法或者回调地址,依赖服务完成之后去调用callback通知调用者。
三、同步与异步消息通知方式
1、同步:当一个同步调用发出后,调用者要一直等待返回消息(或者调用结果)通知后,才能进行后续的执行。
2、异步:当一个异步过程调用发出后,调用者不能立刻得到返回消息(结果)。实际处理这个调用的部件在完成后,通过消息回调来通知调用者是否调用成功。
四、阻塞调用和同步调用的不同
对于同步调用来说,很多时候当前线程可能还是激活的,只是从逻辑上当前函数没有返回而已,此时,这个线程可能也会处理其他的消息。
五、同步非阻塞
如果这个线程在等待当前函数返回时,仍在执行其他消息处理,那这种情况就叫做同步非阻塞
六、同步阻塞
如果这个线程在等待当前函数返回时,没有执行其他消息处理,而是处于挂起等待状态,那这种情况就叫做同步阻塞
- sqlserver数据库实时同步(SQL Server实时同步更新远程数据库遇到的问题小结)
- mysql主从同步失败原因(mysql 主从复制如何跳过报错)
- mysql双向同步原理(详解MySQL的半同步)
- linux多线程怎么设置(超详细讲解Linux C++多线程同步的方式)
- python线程池如何实现同步(Python mutiprocessing多线程池pool操作示例)
- dedecms专题列表(DedeCMSV6重磅发布!同步开启全新商业开发者计划)
- mysql主从同步复制原理(MYSQL数据库GTID实现主从复制实现超级方便)
- python实现sql脚本规范(基于Python的SQL Server数据库实现对象同步轻量级)
- ucenter安装配置(使用ucenter实现多站点同步登录的讲解)
- linux本地文件夹双向同步(linux两台服务器实现自动同步文件)
- win7如何搭建serv-u服务器(使用Serv-U搭建FTP服务器以及bestsync自动同步设置图文教程)
- mysql主从同步原理详解(MySQL双主主主架构配置方案)
- python多线程多种方法(详解python多线程之间的同步一)
- docker同步宿主机配置(docker容器间跨宿主机通信-基于overlay的实现方法)
- sqlserver数据库同步复制(SqlServer将数据库中的表复制到另一个数据库)
- python程序锁教程(在python里协程使用同步锁Lock的实例)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
- 法国面包(法国面包法棍)
热门推荐
- ocr公式识别python(初探利用Python进行图文识别OCR)
- phplaravel一般开发什么项目(laravel 去掉index.php伪静态的操作方法)
- wampserver怎么进后台(WampServer下使用多端口访问的技巧)
- .NET开发中应该遵循的几个规则
- 织梦dedecms优化安全设置指南(DedeCms V5.5 性能优化方法分享)
- navicat怎么导入sql数据库文件(Navicat导出.sql文件方法)
- ios如何播放html5(Html5移动端适配IphoneX等机型的方法)
- php读取txt乱码怎么办(解决php写入数据库乱码的问题)
- win7如何搭建serv-u服务器(使用Serv-U搭建FTP服务器以及bestsync自动同步设置图文教程)
- C#中SortedList的用法
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9