首页 > 其他分享 >并发和并行

并发和并行

时间:2022-10-22 19:12:01浏览次数:49  
标签:多线程 并行 并发 线程 执行 cpu

并发和并行是多线程中比较重要的两个概念

并发

一句话总结,微观看是串行的,宏观上看感觉是并行的。在单核cpu中所有的线程之间是并发执行的,cpu执行任务时在多个线程之间连续切换,给人的感觉这些线程是同时在执行,实际上同一时刻只有一个线程在运行

并行

在多核cpu中,因为有多个核心,所以同一时刻不同的核心可以去执行不同的线程,所以同一时刻会有多个线程在执行,这就是并行。

但实际上因为cpu的核心数肯定要少于实际要运行的线程数,所以在多核系统中也会有并发,即并发和并行同时存在。

多线程能否提高效率

如果是单核cpu,因为多个线程只能并发执行,所以并不能提高效率;

只有多核cpu中多线程才能提高效率。

标签:多线程,并行,并发,线程,执行,cpu
From: https://www.cnblogs.com/chengxuxiaoyuan/p/16817081.html

相关文章

  • Java并发编程学习9-并发基础Demo
    构建高效且可伸缩的结果缓存本篇我们将逐步构建一个高效且可伸缩的缓存,用于改进一个高计算开销的函数。1.HashMap+并发机制我们首先能想到的就是,通过HashMap和并发......
  • C++并发编程实战 第二版 电子书 pdf
    作者:安东尼·威廉姆斯(AnthonyWilliams)出版社:人民邮电出版社出品方:异步图书原作名:C++ConcurrencyinAction,SecondEdition 链接:C++并发编程实战第二版 ......
  • Redis处理秒杀并发
     一、现公司解决秒杀方案:1. 利用Redis原子性自增接口incr2. Redis缓存+异步同步数据到数据库优点:解决超卖问题,库存读写都在内存中,故同时解决性能问题。缺点:由于......
  • Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻
    进程与线程,并发和并行的区别:吃馒头的比喻 没有线程编程的程序好比一个人一只手干活,而多线程的程序就比一个人多之手干活.进程是系统资源分配的独立单位,而线程是可调度......
  • 多版本并行,测试如何做好质量保障?
    昨天的文章总结了从软件工程角度,如何进行项目管理相关的知识。正好上周末星球内部直播时候,有同学问了一个问题:他们公司经常存在多版本并行的项目,不知道怎么做好质量保障工......
  • 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
    二、Java并发机制底层实现原理这里是我的《Java并发编程的艺术》读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一、并发编程的目的与挑战有兴趣讨论的朋友可以......
  • Java并发编程学习8-同步工具类
    同步工具类同步工具类可以是任意一个对象,只要它根据其自身的状态来协调线程的控制流。阻塞队列可以作为同步工具类,类似地还有信号量(Semaphore)、栅栏(Barrier)以及闭锁(Latch)......
  • 一个简单的百万并发的TCP服务器的实现。
    我们紧接着上篇文章,看看我们上节课的代码有什么问题?可以明显的看出来上节课的代码公用了一个同样的缓冲区进行读写,正常的情况下我们需要封装一个结构体,让每个对应的客户端......
  • python拆分表格并发送电子邮件;python窗体应用程序tkinter的使用
    该需求背景是有一个应收逾期表格,里面有很多部门的数据,要把表格按部门拆分成每个部门单独一个EXCEL表格文件,并把拆分出来的各部门文件邮件发送给各部门领导,涉及到的python知......
  • Java并发编程学习7-阻塞队列
    阻塞队列介绍阻塞队列之前,先来介绍下队列Queue。Queue用来临时保存一组等待处理的元素。它提供了几种非阻塞队列实现,如下:ConcurrentLinkedQueue,这是一个传统的先进先出......