转载时请注明出处和作者联系方式
文章出处:http://www.limodev.cn/blog
作者联系方式:李先静 <xianjimli at hotmail dot com>
这几年并发技术受到前所未有的关注:CPU进入多核时代,连手机芯片都使用三核的CPU(AP+BP+DSP集成到一颗芯片)了。 天生具有并发能力的语言ErLang逐渐成为热点。网格和云计算开始进入实用阶段。还有一些新技术更是让我闻所未闻,初学者也不用被这些铺天盖地的名词吓 倒。据笔者的经验来看,这些技术或许能够改变产业的格局,对人类生活造成重大影响,但从实现角度来看并不无多少革命,相反大部分都是传统技术的改进和应 用。这几年我一直在研究开源的基础软件,实际上我没有发现多少“新”东西或者核心技术。要说真正的核心还是如序言中说的:战胜复杂度和应对变化。
作为系统程序员,掌握基础理论和经典的设计方法,比去追逐一些所谓的新技术要实用得多,基础打扎实了,学习新知识也是很容易的事。在接下来几节中,我们一起来学习传统的并发编程知识。在这里我们请读者完成下列任务:
了解linux下的多线程编程的基本方法,以双向链表为载体实现传统的生产者-消费者模型:一个线程往双向链表中加东西,另外一个线程从这里面取。