要解决的问题是什么? A problem well-stated is Half-solved "No Silver Bullet - Essence and Accident in Software Engineering" 以及另外一篇著名的 "Out of the Tar Pit" 都把 State 造成的复杂度放到了首要的位置。 其实要解决问题一直都是房间里的那头大象,Imperative Programming 的方式去管理 State 太复杂了...
致力于在现代C++中提供Python的编程体验。这个建立在两个关键的基础上 c++ 11/14/17 提供了从 auto 到 structure binding 的语法便利 [链接] 提供的 range 抽象 但是 python 体验是建立在语言内建的大量方便函数的基础之上的。而 Modern C++ 还缺少大量使用起来方便的库。 我们今天要来解决的第一个问题是如何在C++中表...
多个线程需要共享同一份配置,但是配置本身又需要更新,如何处理?比较理想的处理方式是 copy on write,每次更新在原有的数据上拷贝一份,加上更新,然后再替换全局的那份配置。这样做的好处是读取配置完全不会被后台更新block住。要是用加锁的方式,万一后台更新线程哪里不靠谱,前台读配置的地方就被block住了。但是...