Qt C++ 并发,并行,多线程编程系列1 什么是并发
来源:互联网 发布:ndarray 数组轴的互换 编辑:程序博客网 时间:2024/04/27 14:59
什么是并发,并发往简单来说就是两个或多个独立的任务同时发生,在我们的生活中也是随处可见。如果把每个人都当作一个独立的任务,那每个人可以相互独立的生活,这就是并发。
在计算机的系统里面,并发一般有两种,一种是通过任务切换来实现伪并发,这种实现方式是系统在一秒钟内切换运行多个任务,由于切换时间极短,使得我们感觉是多个任务同时进行,其实内部还是按照一定的顺序在执行每个任务。
对于单核处理器,也只能使用这种任务交换的方式来实现并发,
对于多核处理器,可以实现真正的物理并发。下面盗图演示一下
绿色表示一个独立的任务,红色表示另一个任务,当我们的处理是双核或者多核的时候,每个任务都在其中的一个核心上面独立运行,但是当我们的处理器为单核处理器时,这时系统将采用任务交换的方式来实现程序的并行执行,在这期间,会有部分时间使用来处理每个任务的保存和切换的,图中的灰色部分就是每个任务切换是的时间间隔,这个间隔是cpu将上个任务的状态保存,并且读取下个任务的状态。
计算机操作系统对于并发性和并行性的概念给出的定义是:
并行性是指两个或多个事件在同一时刻发生;
并发性是指两个或多个事件在同一时间段内发生。
所以,在我看来,并行,就是两个人操作两个机器,而并发就是一个人同时操作两个机器。
写的不好,欢迎指正。
3 0
- Qt C++ 并发,并行,多线程编程系列1 什么是并发
- 多线程系列:并发编程模型
- 并行并发多线程
- 什么是并行、并发,两者区别
- C++11并发/多线程编程系列(1)
- 多线程的“并发”和“并行”
- 并发并行与Go并发编程
- C#并行编程-并发集合
- C#并行编程-并发集合
- Java并发系列-1、Java并发性和多线程介绍
- UI多线程(1)并行和并发的…
- 多线程与并发编程
- 多线程并发服务器编程
- Java 多线程 并发编程
- java 并发编程 多线程
- 多线程与并发编程
- 多线程并发服务器编程
- Java 多线程 并发编程
- PAT 1022
- 数码管显示动态数据
- firefox、Opera不支持backgroundPosition拆分为backgroundPositionX和backgroundPositionY
- JS与Jquery的事件委托
- 黑盒测试与白盒测试
- Qt C++ 并发,并行,多线程编程系列1 什么是并发
- flex弹性布局
- 关于开发中使用writeToFile时的注意事项
- 释疑の作业分割的理解
- python文件和目录操作方法大全
- 数据挖掘笔记(二)
- java锁机制
- java对Map按照key排序
- 3.表操作&&事务