• 唐名之
    2019-02-22
    学习总结:
    1:多线程具备并行和共享资源特性,多核cpu并行可加快执行速度但需谨慎共享资源带来的隐患;
    2:多线程中使用单例对象,工具类都需注意多线程安全问题;
    3:优化同步,加锁粒度尽量控制更细,尽量减少阻塞时间;
    
     9
  • 克里斯
    2019-05-04
    刚工作一年的程序员小嫩鱼,一直很想成为一种人:思维清晰,思路快。

    团队也有一些思路严谨的同事,然而问他如何思考问题的,他也只是说多思考多想;问一些代码写的好的同事,他们也说不出所以然。所以决定开始了自己的求索之路。

    带我入门的是极客时间 刘超《趣谈网络协议》,最大的收获就是感觉理解技术代表的“需求(或者说是what+why)”才是理解技术的核心所在。

    一直感觉自己代码写的不好,看了一些技术书,基本上也是介绍一些知识性的细节,基本也是技术的语法和常见的注意事项。实践了一段时间,感觉自己没有什么提升,无论是阅读代码还是写代码。

    就开始找代码重构之类的书,很庆幸自己读了《head first 设计模式》。这本书基本上是我觉得写的最浅显也是最深刻的书籍了,我认为是扫地僧级别的。但是很多觉得知识才是王道的人,发现不了这本书的能量之大。也是在这本书我了解到了思考需求应该如何落地,以及应该考虑哪些未知变化,也就是(how+if)。

    后来追本溯源,发现了逻辑学教材《金字塔原理》,系统的了解了思维的结构,但是实践却需要我一辈子去努力。

    读到范前辈的文章时,我更加确定了一个优秀的学者是什么思维,感谢你们的课程,让我更加确信这是一条无论怎么努力都不为过的道路。
    展开
    
     6
  • Sisyphus235
    2019-05-23
    先将启动 signature 的部分拆分出来生成一个类,完成 verification 和 signing 的初始化。更新的方法放在一个类中扩展 signature,这样所有修改的值都是一个对象的属性值,这样会不会多线程安全?

    作者回复: 有一个思路,就是把update()的逻辑内部化,比如使用Stream而不是byte[]。没有了update()方法,这个类重构起来就方便多了。

    
     1
  • kelvin
    2019-06-15
    这个线程安全怎么定义呢?是要一个线程改变内容不影响另外一个线程的数据,还是只是不能同步修改数据。如果是第一种可以把数据拆分成一个类,每次把数据传递进入。第二种只要在临界代码加锁就可以。
    
    
我们在线,来聊聊吧