Chinaunix首页 | 论坛 | 博客
  • 博客访问: 294831
  • 博文数量: 119
  • 博客积分: 1235
  • 博客等级: 少尉
  • 技术积分: 1056
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-08 19:59
文章分类

全部博文(119)

文章存档

2018年(2)

2017年(4)

2016年(4)

2015年(43)

2014年(1)

2013年(12)

2012年(16)

2011年(36)

2010年(1)

发布时间:2015-04-17 13:16:57

本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在常见的共享内存的多核CPU。本文适合的对象是想用C++或者Java进行多线程编程的程序员。本文主要包括对Sequential Consistency和Cache Coherence的概念性介绍并给出了一些相关例子,目的是帮助程序员明白为什么需要在并行编程时关注S.........【阅读全文】

阅读(480) | 评论(0) | 转发(0)

发布时间:2015-04-17 13:13:16

0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3.........【阅读全文】

阅读(500) | 评论(0) | 转发(0)

发布时间:2015-04-17 13:00:34

在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。1. 用锁来防止数据竞跑在进行并行编程时,我们常常需要使用锁来保护共享变量,以防止多个线程同时对该变量进行更新时产生.........【阅读全文】

阅读(431) | 评论(0) | 转发(0)

发布时间: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.........【阅读全文】

阅读(540) | 评论(0) | 转发(0)

发布时间:2015-04-17 12:46:42

http://hedengcheng.com/?p=725背景前几天,发了一条如下的微博 (关于C/C++ Volatile关键词的使用建议): 此微博,引发了朋友们的大量讨论:赞同者有之;批评者有之;当然,更多的朋友,是希望我能更详细的解读C/C++ Volatile关键词,来佐证我的微博观点。而这,正是我写这.........【阅读全文】

阅读(630) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册