2016年1月18日

并发编程系列之一:锁的意义

摘要: 背景 C/C++语言的并发程序(Concurrent Programming)设计,一直是一个比较困难的话题。很多朋友都会尝试使用多线程编程,但是却很难保证自己所写的多线程程序的正确性。多线程程序,如果涉及到对共享资源的并发读写,就会产生资源争用(Data Race)。解决资源争用,最... 阅读全文

posted @ 2016-01-18 15:40 Zoran_i 阅读(420) 评论(0) 推荐(0) 编辑

多线程程序中操作的原子性

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

posted @ 2016-01-18 14:54 Zoran_i 阅读(269) 评论(0) 推荐(0) 编辑

C/C++ Volatile关键词深度剖析

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

posted @ 2016-01-18 14:53 Zoran_i 阅读(183) 评论(0) 推荐(0) 编辑

导航