3 个用户来信 打开一个新的并发世界

你好,我是王宝令。

很高兴能再次收到用户的来信,一下子还是 3 封,真是受宠若惊。

通过大家的来信、留言,我深刻感受到大家学习的欲望和热情,也很感谢你们能跟着我一起,把并发这么难啃的知识点都“嚼碎了”——“吃下去”——“消化掉”,变成自己的东西。

脚踏实地,才能仰望天空。

来信一:他说,这是一盏明灯,可以带你少走很多弯路,正确前行,野蛮生长。

你好,我是笑笑,17届杭师大计算机毕业的学生,现在一个电商互联网公司做 Java开发。

在没有学习这个专栏之前,我自己也曾读过一些并发编程相关的书,但那时刚毕业,看完后也仅仅是知道了并发的概念、并发产生的原因,以及一些并发工具类的使用,整体处于“了解”阶段,距离“掌握”还很远。所以,看到“极客时间”出并发编程的专栏后,我立马就订阅了。

第一个感受:宝令老师的讲解思路特别清晰,由简入深。为什么会出现这些技术、这些技术带来的影响点以及如何能更合理地使用这些技术等内容,都阐述得清清楚楚。整个专栏下来,宝令老师带我“游览”并看清了并发编程的全貌。

第二个感受:清晰简洁,理论和实践并行。每次读完老师的文章后,先前很多模糊的知识点都变得更加地清晰,比如:

  1. 可见性是由于在多核时代,每颗CPU都有自己的缓存导致的,具体看《01 | 可见性、原子性和有序性问题:并发编程Bug的源头》
  2. 锁要和资源关联起来,一个锁可以锁多个资源,但是一个资源不可以用多个锁,可类比球赛门票的管理,点击温故《03 | 互斥锁(上):解决原子性问题》
  3. Java 线程的生命周期与操作系统线程生命周期的相通点以及区别,可参考《09 | Java线程(上):Java线程的生命周期》
  4. 结合例子来带你理解 Happens-Before 规则,具体看《02 | Java内存模型:看Java如何解决可见性和有序性问题》
    ……

总之 ,十分感谢宝令老师这几个月的付出。想必很多同学都跟我一样,不能说看了专栏我们并发的能力一下子变得多么多么厉害(这也不现实)。但,它绝对是一盏明灯,给我们指明了方向,让我们在并发的道路上少走很多弯路,正确前行,野蛮生长

宝令回信:

很高兴能够为你答疑解惑,学习最怕的是没问题,只要有问题就一定能找到答案,探索的过程就是提升的过程。也感谢你这几个月的支持和信任!


来信二:他说,于是,我有了自己的“Java并发编程全景图”。

你好,我是华应,互联网行业的一名非著名程序员。

关于并发编程的学习,我也曾多次尝试学习,从不同的切入点或者方法学习过,但都不得要领。 看了宝令老师专栏的试读文章后,我发现每句话都戳中自己学习过程中的痛处,就决定跟着了。

让我印象比较深刻的是,在第一部分“并发理论基础”的最后,老师专门拿出了一篇文章来为大家答疑,每个问题都非常经典,涉及到CPU、缓存、内存、IO、并发编程相关的操作系统层面的线程、锁、指令等知识点,为我打开了并发新世界。同时,我把难啃的知识放在了自己技能全景图中,时时温故知新。

总体来说,学习完这个专栏后,我获益良多,不仅是对并发编程有了系统化的理解,也第一次针对并发编程绘制出了自己的全景图(如下图)。生有涯而学无涯,相信这些知识图谱定能给我指明前进方向,点亮我的技术人生。

真心谢谢宝令老师,希望老师能再出更多的专栏,我们江湖再见!

宝令回信:

系统化地学习很重要,这样遇到问题不会迷茫。感谢你分享的全景图,教学相长,我们互相学习!


来信三:他说,如今每做一个需求,都会对其资源消耗、时间损耗和并发安全有进一步的思考和优化。

你好,我是小肖,在深圳的一家金融公司负责后端业务开发。

想起学并发编程,是因为在找工作时,经常会有面试官问我有没有并发经验,这时我才意识到自己在并发方面的不足。但由于整天沉浸在各种业务代码的CRUD中,而且公司用户数量不大,导致自己接触的并发场景少,完全缺少理论+实战经验。

所以当“极客时间”出了《Java并发编程实战》这门课后,我立马就订阅了,同时也对宝令老师的分享充满了期待。

事实证明,老师分享的知识深度广度让我叹为观止,干货非常之多,许多知识也很贴近实战。比如,在第二部分“并发工具类”的14篇文章里,我跟着学会了如何用多线程并行操作来优化程序执行时间,以及如何用线程通信来让程序执行得更高效。

就这样,从头到尾跟下来后,我收获颇丰!

现在,我也尝试着把我学到的知识点用于项目中,不断优化自己的代码。如今我开始每做一个需求,都会对其资源消耗、时间损耗和并发安全多进行一步思考和优化。这些都为我的项目成功上线起到了重要的保障作用,我的同事也开始夸奖我并发方面的表现突出。这是我最开心和欣慰的地方。

由此,我想感谢宝令老师,是发自内心且由衷地感谢。感谢老师这几个月的一直陪伴,感谢老师分享的知识让我向着理想更进了一步,感谢老师怀揣着对技术的执着之心激励我初心依旧。

宝令回信:

你这么快就能在工作中熟练使用了,这是我最开心和欣慰的地方。学会怎么思考并且在工作中实践,进步一定很快。祝在工作中更上一层楼!

精选留言(15)
  • Sunqc 👍(29) 💬(2)

    我是一楼吗,哈哈,在反复看,理解,虽然工作中还没用到,但是学了之后更加自信

    2019-07-04

  • 艾比利夫 👍(20) 💬(3)

    老师您好,我又来评论了,在您发布第一篇“用户故事”的时候,当时也留了言,说那时自己只学到第9课,会继续努力。 直到今天,我已拜读完老师的所有章节,也正巧赶上老师发布第二篇“用户故事”,那我也想把我的感受写一下。 不带任何夸张的说,老师的这部“高并发”专栏是我在极客时间里看的最认真,也是收获最多的专栏。里面的很多章节我都会反复拜读,一次比一次理解的更加到位。其中第二部分的并发工具类和第三部分的并发设计模式,我都对每一小节自己写了demo,尽可能举一反三。每每做完demo,跑出自己想要的结果,都会有一种豁然开朗的感觉。 自己已经工作5年多了,但在以前面试中,只要面试官问我多线程,我也只能回答一些简单的使用,但当面试官问我为什么要这么用,或者这么用可能会有哪些坑的时候,我都尴尬的答不上来。但经过这次的学习,我觉得我已经可以对高并发的技术选型有一定的想法和思路了。根据不同的业务场景,如何选取合适的并发工具,如何选用合适的设计模式,自己心里也有些思路了。在这里我非常感谢老师每一章节的认真备课和教导,也庆幸自己坚持了下来。在以后的工作中,我会把这些理论变成实战,写出漂亮的高并发代码,给老师交一份满意的考卷。 正如您开篇词里所说:“你有没有一直坚持一件事,并从中获益?”。在今年年初,我把2019年定为自己学习的一年,现在已经7月份了,回顾前半年的学习,英语也好,技术也罢,自己还算是坚持了下来。下半年我会继续保持,争取到年底的时候,回顾全年,发现自己已经有一个惊人的提升吧。 Keep study! Keep doing great things!

    2019-07-04

  • ken 👍(8) 💬(5)

    老师您好,看完您的Java并发编程实战所有课程后我一直有一个问题没有弄明白,线程的同步与互斥有什么不同,我的理解是他们是实现同一目的的两个方案。 互斥:要求对共享资源操作要满足互斥条件 同步:一个线程操作其他线程等待 既然是两个名词他们应该一定不一样,既然不一样那就有相同点和不同点,麻烦您帮解个惑。

    2019-08-06

  • 某、  👍(7) 💬(1)

    今天像往前一样继续打开准备学习,突然发现多了一篇文章,哈哈,终于都可以前排回复啦!

    2019-07-04

  • 码农Kevin亮 👍(4) 💬(1)

    在学习此专栏前,并发编程一直是个让我过不去的坎。感谢极客时间,感谢王老师!通过本专栏的学习,使我直接杀入第五届阿里中间件决赛,这归功于本专栏的讲解特别地清晰、深入浅出。期待王老师的下一门课

    2019-09-14

  • lll 👍(3) 💬(1)

    期待您的第二个专题,做一件事容易,做好一件事,让大部分人认可真的很难,即使这么难,您还是做到了,感谢您从繁忙的工作中抽出时间来做这个专题。期待您的下一个专题。

    2019-07-05

  • Jolyne 👍(1) 💬(1)

    虽然我还没学完,但是讲的是真的好,给我学开心了,哈哈哈,感谢作者大大~

    2022-10-26

  • 蔡俊贤 👍(1) 💬(1)

    感谢老师的精彩课程,让我对并发编程了解了很多。我也是做了四年的ERP,老师分享的经历我深有同感,看完觉得很感动

    2021-07-15

  • DFighting 👍(1) 💬(1)

    终于读完了,内容很充实,读起来也很通俗易懂,满满都是干货,现在我看框架源码,分析问题都会习惯性问一下自己:这里需要并发提高吞吐吗?这里这么写会有并发问题吗?怎么结合业务场景优化已有的逻辑,提升产品的稳定性和性能。读完整篇文章,脑海里只留下了分工、协作和共享,这就足够了,其他的忘了就忘了吧,到用的时候再上来查下,然后就能慢慢在脑海里搭建起来自己的并发知识体系。

    2019-10-17

  • 无言的约定 👍(1) 💬(3)

    王老师,开发中遇到一个问题亟待解决,求助: 线程池管理了多个线程,要处理的告警信息从kafka中取,这些信息有告警和恢复两种。怎么能保证处理告警的线程先于处理恢复的线程。(ParserTask implements Runnable 处理每个信息都要new 一个ParserTask 交给线程池 taskExecutor.execute(new ParserTask));

    2019-09-04

  • 小西 👍(1) 💬(1)

    王老师您好,学完专栏,收获很大,顺便问一下您专栏中出现的各种图是用的什么画图工具😂。

    2019-07-10

  • kingdompeak 👍(0) 💬(1)

    我竟然看完了专栏,虽然只消化了一半,但有了这个课,我相信我一定能熟练掌握并发

    2020-08-15

  • 古夜 👍(0) 💬(1)

    老师你好,我发现平常的工作中很少有多线程的场景来磨练自己所学,什么时候老师出个课程带我们逐步分析线程呢?

    2019-07-16

  • 无言的约定 👍(0) 💬(1)

    默默的拜读,满心的感谢

    2019-07-16

  • blue mountain 👍(0) 💬(1)

    这个专栏,真的是非常牛逼,我毕业才入行java的,一年多,虽然看过java的并发书籍,真的看的很晕,没有体系,让我用,真的是没底气,这套并发的知识体系是真的讲的牛逼,希望老师以后多出一些专栏:JVM、spring等等都可以。

    2019-07-08