当前位置:网站首页>并发与并行的区别
并发与并行的区别
2022-07-30 19:52:00 【一缕阳光a】
学习多线程的时候会遇到一个名词:并发。这是属于操作系统中的词汇,需要了解并发和并行的区别,从网上搜集了几种说法帮助理解。
一:
并发是指一个处理器同时处理多个任务。
并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。
并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。
来个比喻:并发是一个人同时吃三个馒头,而并行是三个人同时吃三个馒头。
二:
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的。

这里写图片描述
并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。
这里写图片描述
并行在多处理器系统中存在,而并发可以在单处理器和多处理器系统中都存在,并发能够在单处理器系统中存在是因为并发是并行的假象,并行要求程序能够同时执行多个操作,而并发只是要求程序假装同时执行多个操作(每个小时间片执行一个操作,多个操作快速切换执行)。
三:
当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状态.这种方式我们称之为并发(Concurrent)。
当系统有一个以上CPU时,则线程的操作有可能非并发.当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
这里写图片描述
边栏推荐
- LeetCode 0952.按公因数计算最大组件大小:建图 / 并查集
- 历史上的今天:Win10 七周年;微软和雅虎的搜索协议;微软发行 NT 4.0
- 移动web开发01
- MySQL performance optimization (hardware, system configuration, table structure, SQL statements)
- MySQL database --- Addition, deletion, modification and query of MySQL tables (advanced)
- Cesium加载离线地图和离线地形
- MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
- Interviewer Ali: Describe to me the phenomenon of cache breakdown, and talk about your solution?
- Start background services across processes
- ResNet18-实现图像分类
猜你喜欢

What is the difference between a cloud database and an on-premises database?

Mac安装PHP开发环境

These services can't ali interview?Then don't go to, the basic notification, etc

360杜跃进:太空安全风险加剧,需打造一体化防御体系

【MindSpore1.2.0-rc1产品】num_workers问题

MySQL分组后取最大一条数据【最优解】

The JDBC programming of the MySQL database

MySQL分库分表

Encapsulates a console file selector based on inquirer

HCIP --- 企业网的三层架构
随机推荐
ResNet18-实现图像分类
el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
MindSpore:ImageFolderDataset数据读取问题
MySQl数据库————DQL数据查询语言
coming!Dongfang Selection brings goods to the live broadcast of Longjiang agricultural products
Zabbix 5.0 Monitoring Tutorial (1)
MySQL数据库————视图和索引
【Node实现数据加密】
360杜跃进:太空安全风险加剧,需打造一体化防御体系
ERROR 1045 (28000) Access denied for user 'root'@'localhost'Solution
The technology is very powerful, do you still need to "manage up"?
MySQL性能优化(硬件,系统配置,表结构,SQL语句)
MindSpore:【模型训练】【mindinsight】timeline的时间和实际用时相差很远
【无标题】多集嵌套集合使不再有MultipleBagFetchException
[Private Series] All kinds of strange problems encountered in daily PHP
Day31 LeetCode
MySQL八股文背诵版
Is the iPhone really thirteen incense?The two generations of products are completely compared, perhaps the previous generation is more worth buying
Linux下最新版MySQL 8.0的下载与安装(详细步骤)
MindSpore:Cifar10Dataset‘s num_workers=8, this value is not within the required range of [1, cpu_thr