C++11 – 使用std::thread在类内部以成员函数作为多线程函数执行异步操作
1 使用std::thread在类内部创建多线程函数
在有些应用场景下,需要在某个类中以某个成员函数作为异步线程函数,或者需要多线程去执行某个耗时操作的成员函数。在这种应用场景下,知道如何在类内部以成员函数创建多线程函数就是一个比较基础的问题。
1.1 代码示例
demo代码如下:
#include <iostream>
#include <thread>
class ThreadTest
{
public:
ThreadTest()
{
}
virtual~ThreadTest()
{
}
public:
void StarThead()
{
std::thread t_thread(&ThreadTest::ThreadFunc, this);
std::thread t_threadOneParam(&ThreadTest::ThreadFuncWithOneParam, this,1);
std::thread t_threadTwoParam(&ThreadTest::ThreadFuncWithTwoParam, this, 1, 2);
if (t_thread.joinable())
{
t_thread.join();
}
if (t_threadOneParam.joinable())
{
t_threadOneParam.join();
}
if (t_threadTwoParam.joinable())
{
t_threadTwoParam.join();
}
}
void ThreadFunc()
{
std::cout << "ThreadFunc running" << std::endl;
}
void ThreadFuncWithOneParam(int a)
{
std::cout << "ThreadFuncWithOneParam running" << std::endl;
}
void ThreadFuncWithTwoParam(int a, int b)
{
std::cout << "ThreadFuncWithTwoParam" << std::endl;
}
};
int main()
{
ThreadTest thread_test;
thread_test.StarThead();
getchar();
return 0;
}
执行结果:
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++11 – 使用std::thread在类内部以成员函数作为多线程函数执行异步操作
原文链接:https://www.stubbornhuang.com/1671/
发布于:2021年09月09日 9:37:13
修改于:2023年06月26日 21:17:55
当前分类随机文章推荐
- C++ - 跨平台在Windows、Linux系统上获取当前可执行程序路径 阅读69次,点赞0次
- C++11 - 使用std::thread在类内部以成员函数作为多线程函数执行异步操作 阅读3204次,点赞0次
- OpenCV - OpenCV打开摄像头显示摄像头帧率 阅读344次,点赞0次
- C++ - std::string输出双引号到字符串 阅读3956次,点赞0次
- C++11 - 使用std::thread,std::shared_future,std::promise并行化/多线程化for循环,提升处理速度 阅读1889次,点赞0次
- C++ - return this和return *this的含义和区别 阅读664次,点赞0次
- C++ - 随机洗牌算法,std::random_shuffle和std::shuffle 阅读2319次,点赞2次
- C++ - 使用Spout2将视频流发送到OBS 阅读231次,点赞0次
- C++ - 单例模式 阅读88次,点赞0次
- C++STL容器 - std::map查找元素与判断键值是否存在方法总结 count,find,contains,equal_range,lower_bound,upper_bound 阅读1269次,点赞0次
全站随机文章推荐
- WordPress - robots.txt 阅读2895次,点赞0次
- 计算几何 - C++计算两个二维向量的夹角 阅读5337次,点赞3次
- Youtube运营 - Youtube做哪些视频内容可以快速通过人工审核 阅读556次,点赞1次
- 资源分享 - Game Physics Cookbook 英文高清PDF下载 阅读1996次,点赞0次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读3084次,点赞0次
- WordPress - 自定义修改用户登录页面的logo(图片、链接、提示信息)、登录框内容、底部内容、css 阅读311次,点赞0次
- 深度学习 - 卷积神经网络CNN简介 阅读755次,点赞0次
- Python - 普通函数/lambda匿名函数/类成员函数作为回调函数的用法 阅读2334次,点赞0次
- C++ - C++类的特殊成员函数,析构函数,拷贝构造函数,移动构造函数,赋值运算符,移动赋值运算符介绍和基础语法 阅读1104次,点赞0次
- WordPress - 异步发送邮件,解决发送邮件阻塞耗时的问题 阅读517次,点赞0次
评论
169