首页 > 其他 > 详细

为什么会有并发、并发的问题

时间:2020-09-05 23:33:53      阅读:56      评论:0      收藏:0      [点我收藏+]

1.为什么是并发

计算机世界的快速发展离不开 CPU、内存和 I/O 设备的高速发展,但是这三者一直存在速度差异性问题,我们可以从存储器的层次结构可以看出

技术分享图片

 

 

 

CPU 内部是寄存器的构造,寄存器的访问速度要高于高速缓存,高速缓存的访问速度要高于内存,最慢的是磁盘访问。程序整体的性能取决于最慢的操作也就是磁盘访问速度。

因为 CPU 速度太快了,所以为了发挥 CPU 的速度优势,平衡这三者的速度差异,计算机体系机构、操作系统、编译程序都做出了贡献,主要体现为:

  • CPU 使用缓存来中和和内存的访问速度差异
  • 操作系统提供进程和线程调度,让 CPU 在执行指令的同时分时复用线程,让内存和磁盘不断交互,不同的 CPU 时间片 能够执行不同的任务,从而均衡这三者的差异
  • 编译程序提供优化指令的执行顺序,让缓存能够合理的使用

 

2.并发的问题

https://zhuanlan.zhihu.com/p/197727299

  • 更新丢失(也称为原子性问题)
  • 降低性能,线程切换
  • 可见性问题(多核CPU时代,多线程线程操作的是不同的 CPU 缓存,互相的缓存不可见)
    •   技术分享图片

       

       

  • 死锁

 

为什么会有并发、并发的问题

原文:https://www.cnblogs.com/HusterJin/p/13619816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!