TBB
Joshua-Wang
ad
展开
-
_MSC_VER详细介绍
_MSC_VER是微软的预编译控制。_MSC_VER可以分解为:MS:Microsoft的简写。C:MSC就是Microsoft的C编译器。VER:Version的简写。_MSC_VER的意思就是:Microsoft的C编译器的版本。微软不同时期,编译器有不同的版本:MS VC++10.0 _MSC_VER=1600MS VC++9.0 _M转载 2016-12-26 09:05:29 · 1230 阅读 · 0 评论 -
多线程队列的算法优化
来源:http://www.parallellabs.com/tag/deadlock/多线程队列的算法优化多线程队列(Concurrent Queue)的使用场合非常多,高性能服务器中的消息队列,并行算法中的Work Stealing等都离不开它。对于一个队列来说有两个最主要的动作:添加(enqueue)和删除(dequeue)节点。在一个(或多个)线程在对一个队列进行enq转载 2017-01-21 15:23:46 · 856 阅读 · 0 评论 -
多核与异步并行
来源: http://www.parallellabs.com/2013/01/21/multicore-and-asynchronous-communication/多核与异步并行我们在设计多线程程序时往往有很多性能指标,例如低延迟(latency),高吞吐量(throughput),高响应度(responsiveness)等。随着多核处理器上CPU核数的日益增加,如何高转载 2017-01-21 16:17:03 · 613 阅读 · 0 评论 -
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
来源:http://www.parallellabs.com/2010/03/06/why-should-programmer-care-about-sequential-consistency-rather-than-cache-coherence/为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)转载 2017-01-21 16:48:05 · 455 阅读 · 0 评论 -
剖析为什么在多核多线程程序中要慎用volatile关键字?
来源:http://www.parallellabs.com/2010/12/04/why-should-we-be-care-of-volatile-keyword-in-multithreaded-applications/剖析为什么在多核多线程程序中要慎用volatile关键字?这篇文章详细剖析了为什么在多核时代进行多线程编程时需要慎用volatile关键字。主要内容转载 2017-01-21 16:51:27 · 267 阅读 · 0 评论 -
并行编程中的“锁”难题
来源:http://www.parallellabs.com/tag/deadlock/并行编程中的“锁”难题注:本文发表于《程序员》2011年第8期并行编程专栏,略有删改。在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。阅读全文>>转载 2017-01-21 16:54:34 · 296 阅读 · 0 评论 -
多线程程序常见Bug剖析(上)
来源:http://www.parallellabs.com/tag/deadlock/多线程程序常见Bug剖析(上)编写多线程程序的第一准则是先保证正确性,再考虑优化性能。本文重点分析多线程编程中除死锁之外的两种常见Bug:违反原子性(Atomicity Violation)和违反执行顺序(Ordering Violation)。现在已经有很多检测多线程Bug的工具,但是这两转载 2017-01-21 16:56:39 · 831 阅读 · 0 评论