前言私以为个人的技术水平应该是一个螺旋式上升的过程:先从书本去了解一个大概,然后在实践中加深对相关知识的理解,遇到问题后再次回到书本,然后继续实践……接触C++并发编程已经一年多,从慢慢啃《C++并发编程实战》这本书开始,不停在期货高频交易软件的开发实践中去理解、运用、优化多线程相关技术。多线程知识的学习也是先从最基本的线程建立、互斥锁、条件变量到更高级的线程安全数据结构、线程池等等技术,当然在项
Continue reading
一个小场景在开始正式讨论我们的问题之前,我们先想象这么一个小场景:
场景1:6只小鸟停在电线上休息,都在等待食物。
场景2:我们向鸟群投放一条小虫,作为它们的食物。
场景3:6只小鸟看到有食物到来,都停止休息,一起飞起来去抢夺食物。
场景4:最终只有一只小鸟(bird4)能够吃到食物,其他小鸟无奈而又伤心的回到电线上继续休息。
何谓惊群问题?上面我们的小场景实际就是一个现实中的惊群问题,明
Continue reading
前言《CSAPP》讲到了局部性原理:一个编写良好的计算机程序常常具有良好的局部性(loacality)。也就是说,它们倾向于引用邻近于其他最近引用过的数据项,或者最近引用过的数据项本身。这种倾向性,被称为局部性原理(principle of locality),是一个持久的概念,对硬件和软件系统的设计和性能都有着极大的影响。
局部性原理代码示例为了让大家更加直观的感受到局部性原理对我们程序性能的影
Continue reading