排序
C++11并发学习之一:小试牛刀
1.与C++11多线程相关的头文件 C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic> ,<thread>,<mutex>,<condition_variable&...
C++11新特性之十四:std::async
如果你想异步地运行函数doAsyncWork,你有两个基本的选择。你可以创建一个std::thread,用它来运行doAsyncWork,这是基于线程(thread-based)的方法: in...
C++11新特性之十二:std::all_of, std::any_of, std::none_of
一.std::any_of any_of与下列函数等效: template<class InputIterator, class UnaryPredicate> bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred) ...
C++11并发学习之二:线程管理
1.启动线程 (1)使用对象 “小试牛刀”中thread构造时传入的是函数,还可以传入对象。 #include <thread> #include <iostream> void func() { std::cout<<"worker ...
C++11新特性之四:range-based for loops
熟悉C++98/03的对于for循环就再了解不过了,如果我们要遍历一个数组,那么在C++98/03中的实现方式: int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, ...
C++11并发学习之三:线程同步
1.<mutex> 头文件介绍 Mutex又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 <mutex> 头文件中,所以如果你需要使用 std...
C++11新特性之五:Lambda
C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概...
C++11新特性之六:list-initialization
在我们实际编程中,我们经常会碰到变量初始化的问题,对于不同的变量初始化的手段多种多样,比如说对于一个数组我们可以使用 int arr[] = {1,2,3}的方式初始化,...
C++11并发学习之四:线程同步(续)
有时候,在第一个线程完成前,可能需要等待另一个线程执行完成。C++标准库提供了一些工具可用于这种同步操作,形式上表现为条件变量(condition variable)和期望(fu...
C++11新特性之七:bind和function
一.std::bind bind是这样一种机制,它可以将参数绑定于可调用对象,产生一个新的可调用实体,这种机制在函数回调时颇为有用。C++98中,有两个函数bind1st和b...









