![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 90
雪人奥特曼
这个作者很懒,什么都没留下…
展开
-
Volatile
Volatile:可见性,禁止指令重排Volatile先了解一波计算机内存模型MESI(缓存一致性协议) 可见性怎么发现数据是否失效呢嗅探操作:嗅探的缺点:再了解下JMM内存模型?Volatile可见性Volatile禁止指令重排序指令重排内存屏障volatile与synchronized的区别总结备注先了解一波计算机内存模型在现代计算机中,cpu的指令速度远超内存的存取速度,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算.原创 2021-04-12 21:13:31 · 167 阅读 · 0 评论 -
synchronized
##(一)概述在多线程的程序执行中,有可能会出现多个线程会同时访问一个共享并且可变资源的情况,这种时候由于线程的执行是不可控的,所以必须采用一些方式来控制该资源的访问,这种方式就是“加锁”。我们把那些可能会被多个线程同时操作的资源称为临界资源,加锁的目的就是让这些临界资源在同一时刻只能有一个线程可以访问。##(二)CAS的介绍###CAS:compare and swap,比较且交换。使用CAS操作可以在没有锁的情况下完成多线程对一个值的更新。CAS的具体操作如下:当要更新一个值时,先获取当前值原创 2021-03-10 17:50:30 · 64 阅读 · 0 评论