38、C++ 多线程与并发及性能优化

C++ 多线程与并发及性能优化

1. std::jthread 简介

std::jthread std::thread 非常相似,它是对 C++11 中线程存在问题的改进。其公共接口和 std::thread 类似, std::thread 有的方法 std::jthread 也都有,但有以下关键区别:
- 共享停止状态 :内部至少在逻辑上维护一个共享停止状态,可请求线程函数停止执行。
- 协作取消方法
- get_stop_source() :返回与线程共享停止状态关联的 std::stop_source 对象。
- get_stop_token() :返回与线程共享停止状态关联的 std::stop_token 对象。
- request_stop() :通过共享停止状态请求取消线程函数的执行。
- 析构行为 :当线程可连接时,析构函数会先调用 request_stop() 发出停止执行请求,再调用 join() 等待线程完成执行。

创建 std::jthread 对象的方式和 std::thread

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值