c++ 11并发之线程运行管理【二】

线程的启动

  • std::thread可以与任何可调用类型一同工作,所以可以传递函数,lamda表达式,带有函数操作符的类实例等进行构造thread。
#include   
#include   
#include   
#include   
using namespace std;  
  
void call_fun(int n)  
{  
    //for(int i=0;i<100;i++)  
    {  
        cout<

等待线程完成

  • 使用join等待线程运行完成,注意异常情况下的等待
#include   
#include   
#include   
#include   
#include   
  
using namespace std;  
  
void calc_fun(int n)  
{  
    int sum=0;  
    for(int i=0;i

线程转移控制权

#include   
#include   
#include   
#include   
#include   
  
using namespace std;  
  
void calc_fun(int n)  
{  
    int sum=0;  
    for(int i=0;i

运行时线程监控

#include   
#include   
#include   
#include   
using namespace std;  
  
void do_task()  
{  
    cout<<"Current thread ID:"< ths;  
    for(int i=0;i

你可能感兴趣的:(c++ 11并发之线程运行管理【二】)