09 2022 档案
摘要:通过引入一个标志位,让CPU去争抢设置标志位。这些CPU通过原子性指令来设置标志位,由于是原子操作,那么只有一个CPU能设置成功,也即只有设置标志位成功的线程可以执行方法代码,设置失败的其他线程则要排队进入阻塞队列。
阅读全文
摘要:
只有CPU提供了原子性指令,上层应用才能够根据这些指令来设计出指令段与指令段之间的原子性操作。这是一种自底向上的设计,没有CPU最底层的支持,上层应用根本就无法解决并发问题。应用程序使用自身语言提供的并发操作函数库,比如java的juc包,而这些函数库又会封装OS的系统调用或者使用glibc库,OS的系统调用最终会使用CPU提供的原子性指令。
阅读全文

摘要:前面我们学习了k8s入门系列文章,了解了k8s的一些基础概念以及怎么使用。本篇文章将进行一个小小的实战,使用k8s来部署单机版的mysql数据库,基本涵盖到前面讲到的Namespace、Pod、Deployment、Service、PV、PVC、Secret等资源对象。 我们先画一张结构图来表示整个
阅读全文
摘要:奔腾处理器增加了MESI技术。core1把数据写入了自己的L1缓存中,还未写入内存。此时core2读取此数据发现数据状态无效,那要怎么办?此时有2种机制可以保证数据一致性
阅读全文