发布时间:2015-04-17 13:10:53
http://www.parallellabs.com/2010/10/25/practical-concurrent-queue-algorithm/多线程队列(Concurrent Queue)的使用场合非常多,高性能服务器中的消息队列,并行算法中的Work Stealing等都离不开它。对于一个队列来说有两个最主要的动作:添加(enqueue)和删除(dequeue)节点。在一个(或多个)线程在.........【阅读全文】
发布时间:2015-04-17 13:00:34
在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。1. 用锁来防止数据竞跑在进行并行编程时,我们常常需要使用锁来保护共享变量,以防止多个线程同时对该变量进行更新时产生.........【阅读全文】
发布时间:2015-04-17 12:49:33
http://m.udpwork.com/item/3673.html这篇文章详细剖析了为什么在多核时代进行多线程编程时需要慎用volatile关键字。主要内容有: 1. C/C++中的volatile关键字 2. Visual Studio对C/C++中volatile关键字的扩展 3. Java/.NET中的volatile关键字 4. Memory Model(内存模型) 5. Volati.........【阅读全文】
发布时间:2015-04-17 12:46:42
http://hedengcheng.com/?p=725背景前几天,发了一条如下的微博 (关于C/C++ Volatile关键词的使用建议): 此微博,引发了朋友们的大量讨论:赞同者有之;批评者有之;当然,更多的朋友,是希望我能更详细的解读C/C++ Volatile关键词,来佐证我的微博观点。而这,正是我写这.........【阅读全文】
发布时间:2015-04-17 12:41:47
原文地址:LINUX内核内存屏障 作者:kouu ================= LINUX内核内存屏障.........【阅读全文】