上一页 1 ··· 3 4 5 6 7

2025年7月29日

为什么i++不是原子操作?一个让无数并发程序崩溃的“常识”

摘要: 原子性:不可分割的操作 private int count = 0; public void test() { List<Thread> ts = new ArrayList<>(); for (int i = 0; i < 100; i++) { Thread t = new Thread(() 阅读全文

posted @ 2025-07-29 16:01 poemyang 阅读(1277) 评论(0) 推荐(0)

2025年7月28日

我的代码出现幻觉?说好的a = 1; x = b,怎么成了x = b; a = 1?

摘要: 有序性:代码执行的幻觉 前面讲到通过缓存一致性协议,来保障共享变量的可见性。那么是否还有其他情况,导致对共享变量操作不符合预期结果。可以看下面的代码: private int a, b; private int x, y; public void test() { Thread t1 = new T 阅读全文

posted @ 2025-07-28 15:14 poemyang 阅读(718) 评论(0) 推荐(0)

2025年7月25日

我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?

摘要: 随着多核架构的普及,并发编程已成为开发者不可或缺的核心技能。在学习过程中,开发者常会遇到这样的困惑:正确编写的单线程代码,为何在并发环境下可能瞬间失效?看似有序的语句执行后,为何结果却混乱不堪?这些问题,都指向了编程领域的一个关键课题——内存模型。 本文以Java语言为例,剖析共享数据在并发环境中的 阅读全文

posted @ 2025-07-25 15:08 poemyang 阅读(873) 评论(0) 推荐(0)

书本大纲:从芯片、分布式到云计算AI时代

摘要: 并发编程艺术 内存模型——连接代码与硬件的契约 以可见性、有序性、原子性为基础,通过happens - before规则和volatile/synchronized同步机制,探讨处理器优化与并发安全的关系,介绍多线程程序底层运行逻辑。 并发原语——在混沌中建立秩序 对比Java与Golang并发哲学 阅读全文

posted @ 2025-07-25 11:23 poemyang 阅读(438) 评论(0) 推荐(0)

2025年7月24日

书本介绍:技术札纪——有限硬件与无限计算的权衡艺术

摘要: 在当前技术飞速发展的时代,开发者面临着一个看似无法调和的难题:一边是有限的硬件与资源,另一边是无限增长的计算与业务需求。如何在秩序、效率和弹性之间做出明智的权衡,不仅是技术的考验,更是一门决策的艺术。本书,便是对这门艺术的思考与记录。 阅读全文

posted @ 2025-07-24 10:50 poemyang 阅读(671) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7

导航