std::thread 的使用,请帮忙写个例子
时间: 2023-11-23 13:53:11 浏览: 31
std::thread是C++11中用于创建线程的类,可以通过它来创建一个新的线程并执行指定的函数。下面是一个使用std::thread创建线程的例子:
引用中的代码可以作为一个例子,其中VAL_WorkThread函数就是在一个新的线程中执行的函数。可以看到,在main函数中,我们通过std::thread创建了一个新的线程,并将VAL_WorkThread函数作为参数传递给了std::thread的构造函数。最后,我们调用了detach函数,将新线程和主线程分离,使得它们可以并行执行。
另外,还可以通过lambda表达式来创建一个新的线程,例如:
```
#include <iostream>
#include <thread>
void thread_func(int n) {
std::cout << "Thread " << n << " is running." << std::endl;
}
int main() {
std::thread t([]() {
std::cout << "New thread is running." << std::endl;
});
t.join();
std::thread t2(thread_func, 2);
t2.join();
return 0;
}
```
在这个例子中,我们通过lambda表达式创建了一个新的线程,并在其中输出了一条信息。另外,我们还通过函数thread_func创建了另一个新的线程,并将参数2传递给了它。最后,我们调用了join函数,等待线程执行完毕。