c++11 线程类thread

std::thread头文件

#include <thread>

using namespace srd;

class thread{

 public:

    thread() noexcept = default;

    thread(thread&) = delete;//被禁用

    thread(const thread&) = delete;

    thread(thread&&__t)noexcept;

    template<typename _Callable,typename ... _Args>

    explicitthread(Callable&& __f,_Args&&.... __args)

};

thread构造函数

template <class Fn,class... Args>

explicitthread(Fn&& fn,Args&&... args);

fn:函数类型

args:参数列表

get_id成员函数

id get_id() const noexcept;

获取线程的id.

join成员函数

void join();

当改线程执行完成后才返回。(即等待子线程执行完毕才继续执行主线程)

joinable成员函数

bool joinable();

检查线程是否可被join。

detach成员函数

void detach();

将本线程从调用线程中分离出来,允许本线程独立执行,thread对象失去对他的关联。(但是当主进程结束的时候,即便是detach出来的子线程不管有没有完成都会被强制杀死)

 

this_thread命名空间

thread的所有的辅助函数位于std::this_thread命名空间中。

namespace this_thread{

thread::id   get_id()    _NOEXCEPT;

inline void yield() _NOEXCEPT

void sleep_for()

void sleep_until()

}

 

yield函数

void yield() noexcept;

使当前线程暂停,等待下次调度。

 

sleep_for函数

用于使当前线程阻塞一个时间段

std::this_thread::sleep_for(std::chrono::seconds(5));//等待5秒

sleep_until函数

使当前线程阻塞直到某个时间点

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波雅_汉库克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值