美文网首页
并发与高并发基础概念

并发与高并发基础概念

作者: 慢慢羊的快发明 | 来源:发表于2019-11-20 10:51 被阅读0次

并发

同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程将交替的换入或者换出内存,这些线程是同时存在的,每个线程都处于执行过程中的某个状态,如果运行在多喝处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行

多个线程操作相同的资源 保证线程安全 合理使用资源

高并发

是互联网系统架构设计中中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求

服务能同时处理很多请求 提高程序性能

并发编程的基础-CPU多级缓存

内存缓存示例图

CPU的频率太快 ,快到内存跟不上,快到主存跟不上,这样在处理器时钟周期内,COU常常需要等待主存,浪费资源。所以Cache的出现,是为了换届CPU和内存之间的速度的不匹配问题(结构:CPU->Cache->Memory

CPU Cache意义:

时间局部性:如果某个数据被访问 那么在不久得将来他很可能被再次访问

空间局部性:如果某个数据被访问 那么与他相邻的数据模块他很可能很快被访问

CPU多级缓存-缓存一致性(MESI):

用于保障多个CPU CAChe之间缓存共享数据的一致

图解 :数据缓存一直性

CPU多级缓存-乱序执行优化

处理器为提高运算速度而做出违背原有代码原则的顺序优化

乱序执行优化

并发的优势

速度:同时处理多个请求,响应更快;复杂的请求可以分成多个同时进行

设计:程序设计在某些情况下更简单,也可以有更多的选择

资源利用:CPU 能够在等待IO的时候做一些其他的操作

并发的危险:

安全性:多个线程共享数据是可能会产生于期望不相符的结果

活跃性:某个操作无法继续进行下去时,就会产生活跃性问题,比如死锁、饥饿等问题

性能:线程过多会使得CPU频繁切换、调度时间增多、同步机制、小号更多内存

相关文章

网友评论

      本文标题:并发与高并发基础概念

      本文链接:https://www.haomeiwen.com/subject/ivnnictx.html