zoukankan
html css js c++ java
并发编程中的多道技术
多道技术
多道技术中的多道指的是多个程序,多到技术的实现是为了解决多个程序竞争或者说共享同一个资源(cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上复用和空间上复用。
空间上复用:将内存分为几部分,每个部分放入一个程序这样,同一时间内就有了多道程序( 内存是物理隔离, 其他程序无法直接访问其他程序 需要IPC进程间协议来互相通讯)
时间上的复用:当一个程序在等待io操作时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似我们小学数学里面的统筹方法。(操作系统采用了多道技术后,可以控制进程的切换,或者说进程之间去抢夺cpu的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用cpu时间过长也会切换,或者说被操作系统夺走cpu执行权限)
通过切换 和保存程序状态来实现并发 这就是多道技术
(多道技术也是在不同任务间切换执行,由于计算机的切换速度非常快,所以用户是没有任何感觉的,看起来就像是两个任务都在执行,但是另一个问题是,仅仅是切换还不行,还需要在切换前保存当前状态,切换回来时恢复状态,这些切换和保存都是需要花费时间的!在上述案例中由于任务过程中出现了等待即IO操作所以进行了切换,而对于一些不会出现IO操作的程序而言,切换不仅不能提高效率,反而会降低效率)
查看全文
相关阅读:
Kubernetes 用户流量接入方案
给Nginx配置日志格式和调整日期格式
唇亡齿寒,运维与安全
Nginx记录用户请求Header到access log
Kubernetes中利用Kubectl set 让Deployment更新镜像
故障管理:故障定级和定责
使用 Elastic 技术栈构建 Kubernetes全栈监控
故障管理:鼓励做事,而不是处罚错误
故障管理:谈谈我对故障的理解
稳定性实践:开关和预案
原文地址:https://www.cnblogs.com/tangda/p/10490263.html
最新文章
Spring Cloud Data Flow用Shell来操作,方便建立CICD
把Spring Cloud Data Flow部署在Kubernetes上,再跑个任务试试
Spring Cloud Data Flow初体验,以Local模式运行
Docker这些none:none的镜像,难道就不配拥有名字吗
Elasticsearch从入门到放弃:瞎说Mapping
Elasticsearch源码解析:环境搭建
MYSQL 整体架构浅析
.Net 异常最佳做法
[读史思考]窦太后真的害死了汉文帝四个儿子?
Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练
热门文章
[记录点滴] luaxml编译过程
Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树
[业界方案] Yarn的业界解决方案和未来方向
Alink漫谈(十五) :多层感知机 之 迭代优化
[记录点滴]Spring Boot Admin源码分析笔记
Alink漫谈(十四) :多层感知机 之 总体架构
Alink漫谈(十三) :在线学习算法FTRL 之 具体实现
[读史思考] 魏王真的被张仪忽悠瘸了吗?
Filebeat 收集K8S 日志,生产环境实践
K8S 上部署 Redis-cluster 三主三从 集群
Copyright © 2011-2022 走看看