zoukankan
html css js c++ java
并发编程中的多道技术
多道技术
多道技术中的多道指的是多个程序,多到技术的实现是为了解决多个程序竞争或者说共享同一个资源(cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上复用和空间上复用。
空间上复用:将内存分为几部分,每个部分放入一个程序这样,同一时间内就有了多道程序( 内存是物理隔离, 其他程序无法直接访问其他程序 需要IPC进程间协议来互相通讯)
时间上的复用:当一个程序在等待io操作时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似我们小学数学里面的统筹方法。(操作系统采用了多道技术后,可以控制进程的切换,或者说进程之间去抢夺cpu的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用cpu时间过长也会切换,或者说被操作系统夺走cpu执行权限)
通过切换 和保存程序状态来实现并发 这就是多道技术
(多道技术也是在不同任务间切换执行,由于计算机的切换速度非常快,所以用户是没有任何感觉的,看起来就像是两个任务都在执行,但是另一个问题是,仅仅是切换还不行,还需要在切换前保存当前状态,切换回来时恢复状态,这些切换和保存都是需要花费时间的!在上述案例中由于任务过程中出现了等待即IO操作所以进行了切换,而对于一些不会出现IO操作的程序而言,切换不仅不能提高效率,反而会降低效率)
查看全文
相关阅读:
mORMot使用基础 2 数据库连接
【Effective C++】继承与面向对象设计
【Effective C++】实现
【Effective C++】设计与声明
【Effective C++】资源管理
【Effective C++】构造/析构/赋值运算
【Effective C++】让自己习惯C++
【网络基础】计算机网络常考知识点整理
【C++基础学习】成员对象与对象数组
C++编程规范纲要要点小结
原文地址:https://www.cnblogs.com/tangda/p/10490263.html
最新文章
SurfaceView GLSurfaceView 叠加显示
wget 下载 部分网站文件
eclipse CDT 无法识别 gcc某些关键字
Chrome开发者工具面板 F12 调试大全 记录
通俗理解vue路由的导航钩子中关于next()
Vue的编译过程
vue项目中监听sessionStorage值发生变化
vue
vue 项目中 js命名规则
解决谷歌浏览器给输入框input自动填充密码问题
热门文章
vue-router中$route 和 $router
使用 flex 弹性布局 ,相关教程记录
vue-cli3热更新配置,解决热更新失败的问题,保存代码浏览器自动刷新
mormot 数据集和JSON互相转换
MORMOT通讯类说明(转 自己记录 原文版权归原作者)
mORMot 注册外部数据库
内容为null时通过synDBDataSet读出字段类型为wideMemo
当sql server出现当 MUST_CHANGE 为 ON (开)时 (SQLserver 2008 数据库强制密码策略 密码过期怎么改)
Delphi使用TStopwatch计时器精确计时
T9 在配置软件的时候出现 “SYSTEM.DATA.SQLCLIENT.SQLCONNECTION”的类型初始值设定项引发异常---解决方案
Copyright © 2011-2022 走看看