其他 - 阻塞 & 同步 的基本认识
1. 概述
- 有些概念, 老是弄不清楚
- 同步异步
- 阻塞非阻塞
2. 准备
- 场景
- 角色
- client
- 发起请求
- 接受请求
- server
- 接受请求
- 执行操作
- 返回响应
- client
- 行为
- 大致是一个 C/S 模式的模型
- 角色
3. 阻塞 & 非阻塞
- 概述
- 对 客户端 行为的描述
- 行为
- 阻塞
- client 发出请求
- client 原地等待 server 处理完
- client 接到 server 响应, 继续前进
- 非阻塞
- client 发出请求
- 当然多数时候, 要确认 server 收到了请求, 简单考虑的话, 可以先不提
- client 继续前进
- client 发出请求
- 关注点
- client 向 server 发出请求后的行为模式
- 阻塞
4. 同步 & 异步
- 概述
- 对 服务端 行为的描述
- 行为
- 同步
- server 接受请求
- server 处理请求
- server 返回响应
- 异步
- server 接受请求
- server 返回响应
- 收到请求
- server 处理请求
- server 返回响应
- 处理完成
- 关注点
- server 在收到请求后的行为模式
- 其他
- server 处理完请求, client 有多重方式知道 处理完成
- client 轮询
- client 主动
- 反复询问 server 情况
- client 监听
- server 主动
- 处理完后立即通知 client
- client 轮询
- server 处理完请求, client 有多重方式知道 处理完成
- 同步
5. 组合
- 阻塞同步
- 最常见的模型
- 最简单
- 最常见的模型
- 阻塞异步
- 有点二逼的模型
- client 明明可继续前进, 非要傻等到 server 的处理完成
- 有点二逼的模型
- 非阻塞同步
- 有点二逼的模型
- server 明明可以返回, 继续接受其他请求, 但还是在哪里阻塞
- 有点二逼的模型
- 非阻塞异步
- 常见的模型
- 最高效
- 常见的模型
其他 - 阻塞 & 同步 的基本认识的更多相关文章
- C#学习笔记之线程 - 高级主题:非阻塞同步
非阻塞同步 - Nonblock Synchronization 前面提到,即使在简单的赋值和增加一个字段的情况下也需要处理同步.尽管,使用锁可以完成这个功能,但是锁必定会阻塞线程,需要线程切换,在高 ...
- 进程理论 阻塞非阻塞 同步异步 I/O操作
1.什么是进程 进程指的是一个正在运行的程序,进程是用来描述程序执行过程的虚拟概念 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统其它所有的概念都是围绕进程来的 2.操作系统 操作系统 ...
- Node.js 回调函数 1) 阻塞 ,同步 2) 非阻塞 ,异步.
1.阻塞. 同步. 1) 读取的文件: input.txt 菜鸟教程官网地址:www.runoob.com 2) main.js var fs = require("fs"); / ...
- 深入理解非阻塞同步IO和非阻塞异步IO
这两篇文章分析了Linux下的5种IO模型 http://blog.csdn.net/historyasamirror/article/details/5778378 http://blog.csdn ...
- 简单测试Java线程安全中阻塞同步与非阻塞同步性能
摘抄自周志明老师的<深入理解Java虚拟机:JVM高级特性与最佳实践>13.2.2 线程安全的实现方法 1.名词解释 同步是指锁哥线程并发访问共享数据时,保证共享数据同一时刻只被一个线程访 ...
- boot asio 非阻塞同步编程---非阻塞的accept和receive。
boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...
- 从同步原语看非阻塞同步以及Java中的应用
非阻塞同步:基于冲突检测的乐观并发策略,通俗讲就是先进行操作,如果没有其他线程争用共享数据,那操作就成功了,如果争用数据有冲突那就采用其他的补偿措施(最常见的就是不断重试直到成功),这种乐观的并发策略 ...
- 非阻塞同步机制和CAS
目录 什么是非阻塞同步 悲观锁和乐观锁 CAS 非阻塞同步机制和CAS 我们知道在java 5之前同步是通过Synchronized关键字来实现的,在java 5之后,java.util.concur ...
- 非阻塞同步机制与CAS操作
锁的劣势 Java在JDK1.5之前都是靠synchronized关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程 持有守护变量的锁,都采用独占的方式来访问这些 ...
随机推荐
- MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text
MapReduce异常:java.lang.ClassCastException: interface javax.xml.soap.Text java.lang.ClassCastException ...
- Docker学习笔记三
4.Docker数据管理 4.1.数据卷 数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似与Linux的mount行为. 特性: 数据卷可以在容器之间共事和重用,容器间传递 ...
- c++踩坑大法好 赋值和指针的区别
1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉. 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动. 2,看例子 main.cpp #includ ...
- AtCoder arc078_d Mole and Abandoned Mine
洛谷题目页面传送门 & AtCoder题目页面传送门 给定一个无向连通带权图\(G=(V,E),|V|=n,|E|=m\)(节点从\(0\)开始编号),要删掉一些边使得节点\(0\)到\(n- ...
- Winfrom控件 特效
链接:https://pan.baidu.com/s/1O9e7sxnYFYWD55Vh5fxFQg 提取码:5cey 复制这段内容后打开百度网盘手机App,操作更方便哦 Winfrom控件查询手册. ...
- 2019牛客竞赛第六场D Move 宏观单调,部分不单调
Move 题意 有k个体积相同的箱子,有个憨憨有固定的装箱策略,每次都只装可以装的重量中最大的东西,求箱子的最小提及 分析 看起来可以二分,但由于他的装箱策略有点蠢,所以只在宏观上满足单调性,在特别小 ...
- 转载:Cubic interpolation
https://www.paulinternet.nl/?page=bicubic Cubic interpolation If the values of a function f(x) and i ...
- Oracle允许IP访问配置
http://www.linuxidc.com/Linux/2014-10/108650.htm 1.oracle服务器下/opt/app/oracle/product/11.2.0/network/ ...
- python3 win 建立虚拟环境(virtualenv)
1.安装virtualenv pip3 install virtualenv 2.进入即将创建虚拟环境的目录 cd xxxx 3.创建虚拟环境 py -3 -m venv testxunihua 4. ...
- IntelliJ IDEA快捷键设置
IntelliJ IDEA是java编程语言开发的集成环境,目前有很多用户喜欢使用IDEA进行相关开发,IDEA使用起来十分方便,本篇博客主要是介绍IDEA快捷键(Keymap)的设置和使用. I ...