C++11 – 使用std::thread在类内部以成员函数作为多线程函数执行异步操作
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++11 – 使用std::thread在类内部以成员函数作为多线程函数执行异步操作
原文链接:https://www.stubbornhuang.com/1671/
发布于:2021年09月09日 9:37:13
修改于:2021年09月09日 9:37:13

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;
}
执行结果:

当前分类随机文章推荐
- C++11 - std::bind简要介绍以及可绑定函数的几种形式总结 阅读2897次,点赞3次
- C++ Map中存储动态指针时正确释放内存 阅读2539次,点赞0次
- C++ - 常用的C++命令行参数解析第三方库 阅读75次,点赞0次
- C++11 - 构建一个符合实际应用要求的线程池 阅读482次,点赞0次
- C++ - 判断本机文件是否存在的方式总结 阅读1683次,点赞0次
- C++ - 得到字符串中某个字符串出现的个数 阅读2259次,点赞1次
- C++ - 将一维数组/二维数组/三维数组作为函数参数传递给函数 阅读347次,点赞0次
- C++ - 获取当前进程内存使用情况 阅读4174次,点赞4次
- C++ - 使用ffmpeg读取视频旋转角度并使用OpenCV根据旋转角度对视频进行旋转复原 阅读525次,点赞0次
- C++ - 求解std::vector
中topk数值以及topk数值对应的索引 阅读434次,点赞0次
全站随机文章推荐
- 资源分享 - Practical Linear Algebra - A Geometry Toolbox , First Edition 英文高清PDF下载 阅读397次,点赞0次
- mciSendCommand在Win10上奔溃的问题解决/循环播放音乐 阅读1923次,点赞0次
- 资源分享 - Collision Detection in Interactive 3D Environments 英文高清PDF下载 阅读1171次,点赞0次
- PlaySound 播放内存中的音频数据 阅读2065次,点赞0次
- 资源分享 - GPU Pro 360 - Guide to Image Space 英文高清PDF下载 阅读1112次,点赞0次
- 资源分享 - GPU Pro 6 - Advanced Rendering Techniques 英文高清PDF下载 阅读1423次,点赞0次
- 资源分享 - 统计学习方法(李航著) 高清PDF下载 阅读2458次,点赞1次
- Windows 批处理文件bat执行完自动退出cmd黑窗口 阅读3492次,点赞0次
- 资源分享 - GPU Pro 3 - Advanced Rendering Techniques 英文高清PDF下载 阅读1309次,点赞0次
- Mediapipe - Windows10 编译Mediapipe C++版本保姆级教程 阅读5324次,点赞9次
评论
144