为什么说并发编程很难?
原文中文,约2200字,阅读约需6分钟。发表于: 。最近看到一本关于算法的新书,买过来学习。这本书中有一道并发问题,也是我先前多次分过的一道题:水分子的产生:
最近看到一本关于算法的新书,其中有一道并发问题,是关于水分子的产生。这道题已经存在了30年,被收编到leetcode的并发题中。书中的解答和力扣中国的评论区解答的第一名类似,但存在一个瑕疵。力扣中国评论区第一名的解答是正确的。然而,这个解答违反了每个水分子的原子必须来自不同的线程的要求。一个修改版的Java代码增加了一个phaser同步原语来解决这个问题。即使是一个存在了30年的并发老题,要想写对也不容易。在百度的Review中发现,很多同学在并发问题上遇到困难。推荐一本即将上线的新书《深入理解Go并发编程》,全面介绍Go并发编程方方面面。