博客专栏  >  编程语言   >  c++11多线程编程

c++11多线程编程

详细介绍C++11新标准中引入的多线程编程的各API及用法

关注
1 已关注
10篇博文
  • c++11多线程编程(一):创建线程的三种方法

    c++11线程库 原始的c++标准仅支持单线程编程,新的c++标准(c++11或c++0x)于2011年发布,引入了新的线程库。 编译器要求: Linux: gcc 4.8.1 (完全并发支持) ...

    2017-11-03 14:45
    199
  • c++11多线程编程(二):joining和detaching 线程

    Joining线程 线程一旦启动,另一个线程可以通过调用std::thread对象上调用join()函数等待这个线程执行完毕 std::thread th(funcPtr);  th.join(); ...

    2017-11-03 14:46
    100
  • c++11多线程编程(三):仔细地将参数传递给线程

    要将参数传递给线程的可关联对象或函数,只需将参数传递给std::thread构造函数 默认情况下,所有的参数都将复制到新线程的内部存储中 看一个例子: 给线程传递单个参数 #include #inc...

    2017-11-11 15:31
    157
  • c++11多线程编程(四):数据共享和竞争条件

    在多线程环境中,线程间的数据共享很简单,但是在程序中这种简单的数据共享可能会引起问题,其中一种便是竞争条件 什么是竞争条件? 竞赛条件是发生在多线程应用程序中的一种bug 当两个或多个线程并行执行一...

    2017-11-17 14:36
    106
  • c++11多线程编程(五):使用mutex修复竞争

    c++11多线程编程(五):使用mutex修复竞争 这节我们讨论怎样使用mutex锁保护多线程环境中的共享数据来避免竞争条件 为了修复多线程环境中的竞争条件,我们需要mutex互斥锁,在修改或读取共享...

    2017-11-17 14:45
    78
  • c++11多线程编程(六):事件处理

    本节讨论在多线程环境下的事件处理 有时,线程需要等待某事件发生,比如一个条件变为true,或者某任务被另一个线程完成 例如,我们创建一个基于网络的应用程序,处理如下的任务: 1、与处理器进行一些握手操...

    2017-11-23 10:24
    98
  • c++11多线程编程(七):条件变量说明

    条件变量 条件变量是一种用于在2个线程之间进行信令的事件,一个线程可以等待它得到信号,其他的线程可以给它发信号。 在c++11中,条件变量需要头文件: #include 同时,条件变量还需要一个mu...

    2017-11-23 10:41
    95
  • c++11多线程编程(八):std::future , std::promise和线程的返回值

    std::future对象可以和asych,std::packaged_task,std::promise一起使用。这篇文章集中讨论std::future和std::promise。 我们经常会遇到需...

    2017-11-30 15:07
    162
  • c++11多线程编程(九):std::async介绍与实例

    本节讨论下在C++11中怎样使用std::async来执行异步task。 C++11中引入了std::async 什么是std::async std::async()是一个接受回调(函数...

    2017-12-27 10:33
    194
  • c++11多线程编程(十):packaged_task<>介绍与实例

    本节讨论c++11中std::packaged_task的特性与使用方法 std::packaged_task std::packaged_task是一个类模板,代表一个异步任务。封装了 1、可...

    2017-12-27 10:36
    177
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部