c++ std::thread

2021-03-17 12:24

阅读:594

标签:线程   res   函数   安全   唤醒   _for   poi   resource   执行   

detach()

分离线程,将对象表示的线程与调用线程分离,允许它们彼此独立地执行。不以任何方式阻止或同步。请注意,当其中一个执行结束时其资源将被释放。调用此函数后,线程对象将变得不可连接 ,并且可以安全地销毁。

join()

连接线程,当线程执行完成时该函数返回。此函数将阻止调用该函数的线程的执行,直到调用的函数返回。调用此函数后,线程对象将变得不可连接,并且可以安全地销毁。

 

RAII(Resource Acquisition Is Initialization)

也称为“资源获取就是初始化。简单的说,RAII 的做法是使用一个对象,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时候释放资源。

线程执行体

std::thread 执行体类似boost::thread, 并不要求是普通的函数,任何可调用的对象都可,具体接受下面四种 :

普通函数

函数对象

类成员函数

lambda 函数

std::this_thread

std::this_thread::sleep_for():线程休眠某个指定的时间片(time span),该线程才被重新唤醒

std::this_thread::sleep_until():线程休眠至某个指定的时刻(time point),该线程才被重新唤醒

std::this_thread::yield():当前线程放弃执行,操作系统调度另一线程继续执行

std::this_thread::get_id():获取线程id

c++ std::thread

标签:线程   res   函数   安全   唤醒   _for   poi   resource   执行   

原文地址:https://www.cnblogs.com/tongyishu/p/13974073.html


评论


亲,登录后才可以留言!