代码改变世界

[置顶]C++11 并发指南后续更新

2013-08-31 17:28 by Haippy, 11323 阅读, 0 推荐, 收藏, 编辑
摘要:C++11 并发指南的第一篇是 2013 年 8 月 3 号写的,到今天(2013 年 8 月 31 号)差不多一个月了,前前后后共写了 8 篇博客介绍 C++11 的并发编程,但还差 atomic 和 C++11 内存模型两章还在草稿中。今天回顾一下之前写的博客,发现内容还远远不够,很多东西都还也有完成,和自己计划差距还很远,我也想把这个系列一直写下去,一来对自己也是一种提高,另外 C++11 是一种趋势,了解 C++11 的并发编程对一个新时代的 C++ 程序员来说也是必修课,我也希望自己的这个系列博客能够帮助大家学习 C++11 的并发编程,所以我后面会把 《C++11 并发指南》放在 github 上持续更新 阅读全文

[置顶]C++11 并发指南系列

2013-08-27 11:32 by Haippy, 95336 阅读, 52 推荐, 收藏, 编辑
摘要:本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程 阅读全文

[置顶]Zookeeper C API 指南

2013-02-21 11:34 by Haippy, 27433 阅读, 5 推荐, 收藏, 编辑
摘要:Zookeeper C API 指南是一系列文章组成的,共分为 8 篇和大家分享,由于水平有限,还望各位读者指出系列文章中的错误,我定当感激涕零 :-) 阅读全文

RegexKit: A Regular Expression Toolbox Based On NW.js(Node-Webkit) And Other Greate Open Source Projects.

2015-10-11 12:38 by Haippy, 3358 阅读, 0 推荐, 收藏, 编辑
摘要:RegexKit: A Regular Expression Toolbox Based On NW.js(Node-Webkit) And Other Greate Open Source Project 阅读全文

C++11 并发指南七(C++11 内存模型一:介绍)

2013-11-14 16:38 by Haippy, 42153 阅读, 6 推荐, 收藏, 编辑
摘要:第六章主要介绍了 C++11 中的原子类型及其相关的API,原子类型的大多数 API 都需要程序员提供一个 std::memory_order(可译为内存序,访存顺序) 的枚举类型值作为参数,比如:atomic_store,atomic_load,atomic_exchange,atomic_compare_exchange 等 API 的最后一个形参为 std::memory_order order,默认值是 std::memory_order_seq_cst(顺序一致性)。那么究竟什么是 std::memory_order 呢,为了解答这个问题,我们先来讨论 C++11 的内存模型。 阅读全文

C++11 并发指南三(Lock 详解)

2013-10-02 11:38 by Haippy, 80166 阅读, 7 推荐, 收藏, 编辑
摘要:在 《C++11 并发指南三(std::mutex 详解)》一文中我们主要介绍了 C++11 标准中的互斥量(Mutex),并简单介绍了一下两种锁类型。本节将详细介绍一下 C++11 标准的的锁类型。 阅读全文

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

2013-09-07 11:18 by Haippy, 29848 阅读, 0 推荐, 收藏, 编辑
摘要:前面三篇文章《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, 28121 阅读, 2 推荐, 收藏, 编辑
摘要:C++11 并发指南六( 类型详解二 std::atomic ) 介绍了基本的原子类型 std::atomic 的用法,本节我会给大家介绍C++11 标准库中的 std::atomic 针对整形(integral)和指针类型的特化版本做了哪些改进。 阅读全文

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

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

C++11 并发指南五(std::condition_variable 详解)

2013-08-27 20:20 by Haippy, 163963 阅读, 15 推荐, 收藏, 编辑
摘要:前面三讲《C++11 并发指南二(std::thread 详解)》,《C++11 并发指南三(std::mutex 详解)》分别介绍了 std::thread,std::mutex,std::future 等相关内容,相信读者对 C++11 中的多线程编程有了一个最基本的认识,本文将介绍 C++11 标准中 头文件里面的类和相关函数。 阅读全文