同步与异步、并行与并发、阻塞与挂起
同步与异步、并发与并行、阻塞与挂起
- 同步与异步
- 并行与并发
- 阻塞与挂起
同步与异步
同步(synchronous)是指多个有相互之间一定联系的并发执行的进程,通过一定的机制,使之有序执行,从而使其总的运行结果符合预期。
异步(asynchronous)是指多个有相互之间一定联系的并发执行的进程,执行时相互之间没有约定一定的次序。
并行与并发
并行(parallellism)是指两个及以上个进程在同一时刻(时间点)同时执行。
并发(concurrency)指两个及以上个进程在同一时间间隔(时间段)内同时执行。
在宏观上,多个同时执行的进程,如果位于单处理机中执行,在微观上,它们只能分时交替地执行。只有它们位于多处理机中执行,才可能存在微观上的同时执行。
阻塞与挂起
阻塞(block)是指当前进程因操作系统分配的时间片用完之外的、因某资源没有满足的原因不能继续运行,从而交出当前 CPU 的使用权而暂停的一种状态。而当之前缺少的该资源被满足之后,该进程将被解除阻塞而逐步恢复之前的运行状态。
挂起(suspend)是指当前进程发生了内存等共享资源的紧急不足,或者由于用户的意愿,现阶段不需要运行等原因,处于一种不接受操作系统调度的状态。阻塞与之的区别在于,当之前缺少的该资源被满足之后,处于阻塞状态的进程将自动被解除现在的暂停运行的状态,这个自动的过程是由操作系统设法完成的。但对于处于挂起状态的进程来说,当前暂停运行的状态不会自动被解除,除非用户主动对其进行激活。
同步与异步、并行与并发、阻塞与挂起相关推荐
- 理解:什么是同步和异步?什么是阻塞和非阻塞?
一.同步和异步 同步与异步是指访问数据的机制,同步一般指主动请求并等待IO操作完成的方式. 异步则指主动请求数据后便可以继续处理其它任务,随后等待IO操作完毕的通知. 同步和异步最大的区别就在于:同步 ...
- 多线程是并行还是并发_并发,并行,线程,进程,异步和同步有相关性吗?
本文翻译自:https://medium.com/swift-india/concurrency-parallelism-threads-processes-async-and-sync-relate ...
- 同步、异步与阻塞、非阻塞经典段子(来自网络)
老张爱喝茶,废话不说,煮开水. 出场人物:老张,水壶两把(普通水壶,简称水壶:会响的水壶,简称响水壶). 1 老张把水壶放到火上,立等水开.(同步阻塞) 老张觉得自己有点傻 2 老张把水壶放到火上,去 ...
- GIL、进/线程池、同/异步、阻/非阻塞
1 GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在解释器身上的, 同一个进程内的所有线程都需要先抢到GIL锁,才能执行解释器代码 2.GIL的优缺点: 优点: 保证Cpython解释器内存管理 ...
- 并发、并行、串行、同步、异步、阻塞、非阻塞
并发.并行.串行.同步.异步.阻塞.非阻塞 实际上同步与异步是针对应用程序与内核的交互而言的. 同步过程中进程触发IO操作并等待(也就是我们说的阻塞)或者轮询的去查看IO操作(也就是我们说的非阻塞)是 ...
- 一文读懂并发与并行,同步与异步阻塞
并发与并行 并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法, 实现用多个任务"一起"执行(实际上总有一些任务不在执行,因为切换任务的速度相当快, 看上去一起执行而 ...
- python网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)...
python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程并行与并发同步与异步阻塞与非阻塞CPU密集型与IO密集型 线程与进程 进程 前言 ...
- 探究并发和并行、同步和异步、进程和线程、阻塞和非阻塞、响应和吞吐等
一. 并发和并行 操作系统扫盲: 1. 对于单核cpu而言(不管单核单线程也好,单核多线程也罢),同一时间只能干一件事!!为了看起像可以"同时干多件事",windows操作系统把c ...
- python并发处理同一个文件_python并发编程(并发与并行,同步和异步,阻塞与非阻塞)...
最近在学python的网络编程,学会了socket通信,并利用socket实现了一个具有用户验证功能,可以上传下载文件.可以实现命令行功能,创建和删除文件夹,可以实现的断点续传等功能的FTP服务器.但 ...
最新文章
- mac或linux下JDBC的简单实现,图文介绍(附测试源码)
- Linux服务器Zookeeper+Dubbo环境搭建
- pg多线程更新会发生死锁_何时用多线程?多线程需要加锁吗?线程数多少最合理?...
- 网络安全:与 TCP 连接管理相关的网络攻击
- android设置时间widget,【Android】时间与日期Widget(DatePicker 与 TimePicker)
- python pandas dataframe基本使用整理
- 基于stm32F4的项目总结:控制层设计(四)直流有刷电机驱动原理及驱动器选型
- 请不要嘲笑有梦想的罗永浩
- 【C/C++】共用体(union)
- java pgm_如何读取Java中的PGM图像?
- 超酷flv网页播放器 CKplayer V5.7
- 创业公司产品经理生存指南
- Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
- “开源社”成立:众人同心,其利断金
- iMazing2021mac win最先进的苹果iPhone和iPad管理软件
- 互联网产品交互设计思路与方法
- 201912月灵感记录
- Mock工具介绍,为什么使用Mock?
- HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
- 变分推断 (Variational Inference) 解析
热门文章
- 【Redis学习】Redis管理命令总结
- 并发编程之Synchronized
- Spring Cloud构建微服务
- 简单爬虫-爬取免费代理ip
- 数据库:mongodb与关系型数据库相比的优缺点zz
- [ solr入门 ] - 利用solrJ进行检索
- linux+geth+不能同步公链数据,以太坊(ETH)同步公链数据
- 不停刷朋友圈的人_不停刷新闻、朋友圈、微信群的朋友,休息一下,看多了伤身!...
- 定位到某个单词_【侃侃单词】词根词缀记单词-loc
- springboot热部署工具