// threadTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <thread>
#include <string>
using namespace std;
void hello(string& msg,int idx)
{
cout << msg << ":" << idx << endl;
}
class CHello
{
public:
void operator()(string &msg, int idx)
{
cout << msg << ":" << idx << endl;
}
void print(string &msg, int idx)
{
cout << msg << ":" << idx << endl;
}
};
int main()
{
// 普通函数
thread t1(hello, string("hello world\n"), 1);
t1.join();
// 类的成员函数
CHello hi;
thread t2(&CHello::print, &hi, string("hello world\n"), 2);
t2.join();
// 使用lambda表达式
auto fun = [](string &msg,int idx) {
cout << msg << ":" << idx << endl;
};
thread t3(fun, string("hello world\n"), 3);
t3.join();
// 使用仿函数
thread t4(CHello(), string("hello world\n"), 4);
t4.join();
return 0;
}
C++11 线程,有参线程的创建方法
猜你喜欢
转载自blog.csdn.net/qq_24127015/article/details/104792479
今日推荐
周排行