news 2026/9/3 4:42:30

std::thread创建线程访问类成员

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
std::thread创建线程访问类成员

方法一:std::bind + 成员函数

class TaskHelp { public: TaskHelp() = default; ~TaskHelp() { StopTask(); } public: // 线程函数 void ThreadFunc() { // todo 其他事项 // 访问类成员 std::cout << m_status.c_str() <<std::endl; } // 方法一 void StartTask_v1() { m_taskThread = std::thread(std::bind(&TaskHelp::ThreadFunc, this)); } void StopTask() { if (m_taskThread.joinable()) { m_taskThread.join(); } } void SetStatus(const std::string& status) { m_status = status; } private: std::string m_status = "no task"; std::thread m_taskThread; }; // 使用示例 int main(int argc, char* argv[]) { TaskHelp help; help.StartTask_v1(); Sleep(1000); help.StopTask(); return 0; }

方法二:[this] + lambda

class TaskHelp { public: TaskHelp() = default; ~TaskHelp() { StopTask(); } public: // 线程函数 void ThreadFunc() { // todo 其他事项 // 访问类成员 std::cout << m_status.c_str() <<std::endl; } // 方法二 void StartTask_v2() { m_taskThread = std::thread([this]() { // todo 其他事项 // 访问类成员 std::cout << m_status.c_str() << std::endl; }); } void StopTask() { if (m_taskThread.joinable()) { m_taskThread.join(); } } void SetStatus(const std::string& status) { m_status = status; } private: std::string m_status = "no task"; std::thread m_taskThread; }; // 使用示例 int main(int argc, char* argv[]) { TaskHelp help; help.StartTask_v2(); Sleep(1000); help.StopTask(); getchar(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:04:40

5个开源推理框架推荐:SGLang镜像免配置一键部署教程

5个开源推理框架推荐&#xff1a;SGLang镜像免配置一键部署教程 1. 为什么大模型部署需要推理框架&#xff1f; 你有没有遇到过这种情况&#xff1a;好不容易训练好一个大模型&#xff0c;结果一上线&#xff0c;响应慢得像蜗牛&#xff0c;GPU利用率还低得可怜&#xff1f;或…

作者头像 李华
网站建设 2026/9/2 23:04:41

Z-Image-Turbo部署优化:多卡GPU负载均衡实战配置

Z-Image-Turbo部署优化&#xff1a;多卡GPU负载均衡实战配置 Z-Image-Turbo是阿里巴巴通义实验室开源的高效AI图像生成模型&#xff0c;作为Z-Image的蒸馏版本&#xff0c;它在保持高质量图像输出的同时大幅提升了推理速度。该模型仅需8步即可完成图像生成&#xff0c;具备照片…

作者头像 李华
网站建设 2026/9/3 0:54:53

ue c++ 报错 “Invoke”: 未找到匹配的重载函数

目录 “Invoke”: 未找到匹配的重载函数 已解决 报错代码: 原因分析: 正确代码: ue c++ 报错: “Invoke”: 未找到匹配的重载函数 已解决 报错代码: Socket->SetReceiveCallBack(FNetWebSocketPacketReceivedCallBack::CreateLambda([this](const uint8* Data, u…

作者头像 李华
网站建设 2026/9/3 0:43:14

价值共生的数字新篇章

2026年1月21日&#xff0c;一个名为奇刷刷的数字平台开始运行。它源于对当前消费与注意力关系的观察&#xff0c;尝试构建一种新的连接方式。奇刷刷由北京奇思妙响网络科技集团开发&#xff0c;平台以“消费增值”为核心理念。在这个体系中&#xff0c;用户的日常消费行为可通过…

作者头像 李华
网站建设 2026/9/3 2:05:07

github有时打不开有时能打开

打开 C:\Windows\System32\drivers\etc\ 下的host文件(以管理员方式编辑)&#xff0c;将IP地址与github.com追加到尾部添加一行 20.205.243.166 github.com 174.36.228.136 github.global.ssl.fastly.net cmd运行 ipconfig/flushdns 刷新DNS缓存&#xff0c;重启浏览器之后就能…

作者头像 李华