在C++中,多线程编程和并发模型可以通过使用std::thread来实现。std::thread是C++标准库中提供的线程类,可以用来创建新的线程并执行指定的函数。
下面是一个简单的示例代码,演示了如何使用std::thread来实现一个简单的多线程程序:
#include <iostream>
#include <thread>
void threadFunction() {
std::cout << "Hello from thread!" << std::endl;
}
int main() {
// 创建一个新的线程并执行threadFunction函数
std::thread t(threadFunction);
// 等待新的线程执行完成
t.join();
std::cout << "Hello from main thread!" << std::endl;
return 0;
}
在上面的示例中,我们首先定义了一个threadFunction函数,然后在main函数中创建了一个新的线程t,并指定其执行的函数为threadFunction。最后通过t.join()函数来等待新的线程执行完成。
除了std::thread类外,C++标准库还提供了一些用于多线程编程和并发模型的其他类和工具,如std::mutex、std::condition_variable、std::atomic等,可以用来实现更复杂的并发模型。通过这些类和工具,我们可以实现线程同步、互斥访问、条件变量等功能,从而更好地控制多线程程序的执行流程和数据访问。