代码改变世界

随笔档案-2013年09月

C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)

2013-09-07 11:18 by Haippy, 30521 阅读, 收藏, 编辑
摘要: 前面三篇文章《C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)》、《C++11 并发指南六( 类型详解二 std::atomic )》、《C++11 并发指南六(atomic 类型详解三 std::atomic (续))》都是采用 C++ 的方式介绍原子对象,本节我会给大家介绍 C++11 原子操作中 C 风格的 API。 阅读全文

C++11 并发指南六(atomic 类型详解三 std::atomic (续))

2013-09-06 11:22 by Haippy, 28639 阅读, 收藏, 编辑
摘要: C++11 并发指南六( 类型详解二 std::atomic ) 介绍了基本的原子类型 std::atomic 的用法,本节我会给大家介绍C++11 标准库中的 std::atomic 针对整形(integral)和指针类型的特化版本做了哪些改进。 阅读全文

C++11 并发指南六( <atomic> 类型详解二 std::atomic )

2013-09-05 22:32 by Haippy, 92423 阅读, 收藏, 编辑
摘要: C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍) 一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag 过于简单,只提供了 test_and_set 和 clear 两个 API,不能满足其他需求(如 store, load, exchange, compare_exchange 等),因此本文将介绍功能更加完善的 std::atomic 类。 阅读全文

C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)

2013-09-03 22:16 by Haippy, 49053 阅读, 收藏, 编辑
摘要: C++11 并发指南已经写了 5 章,前五章重点介绍了多线程编程方面的内容,但大部分内容只涉及多线程、互斥量、条件变量和异步编程相关的 API,C++11 程序员完全可以不必知道这些 API 在底层是如何实现的,只需要清楚 C++11 多线程和异步编程相关 API 的语义,然后熟加练习即可应付大部分多线程编码需求。但是在很多极端的场合下为了性能和效率,我们需要开发一些 lock-free 的算法和数据结构,前面几章的内容可能就派不上用场了,因此从本文开始介绍 C++11 标准中 头文件里面的类和相关函数。 阅读全文