1 使用普通函数作为线程函数
代码示例:
#include <iostream>
#include <thread>
void ThreadFunction()
{
std::cout<< "线程函数被启动" << std::endl;
}
int main()
{
std::thread thread(ThreadFunction);
thread.join();
getchar();
return 0;
}
2 使用类的成员函数作为线程函数
代码示例:
#include <iostream>
#include <thread>
class ThreadFunc
{
public:
void ThreadFunction()
{
std::cout << "线程函数被启动" << std::endl;
}
};
int main()
{
ThreadFunc m_ThreadFunc;
std::thread thread(&ThreadFunc::ThreadFunction,&m_ThreadFunc);
thread.join();
getchar();
return 0;
}
3 Lambda表达式/匿名函数作为线程函数
代码示例:
#include <iostream>
#include <thread>
int main()
{
std::thread thread{ [] {std::cout << "线程函数被启动" << std::endl; } };
thread.join();
getchar();
return 0;
}
未完待续。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++11/std::thread – 可作为线程函数的几种方式总结
原文链接:https://www.stubbornhuang.com/775/
发布于:2020年04月01日 10:53:57
修改于:2023年06月26日 22:30:26
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
51