使用c++ 写一个多线程例子
时间: 2024-02-25 09:54:55 浏览: 87
以下是一个使用C++11写的简单的多线程例子,该例子创建了两个线程,每个线程分别打印出自己的线程ID和打印信息:
```cpp
#include <iostream>
#include <thread>
// 线程函数1
void threadFunc1()
{
std::cout << "Thread1 ID: " << std::this_thread::get_id() << std::endl;
std::cout << "Thread1: Hello, world!" << std::endl;
}
// 线程函数2
void threadFunc2()
{
std::cout << "Thread2 ID: " << std::this_thread::get_id() << std::endl;
std::cout << "Thread2: Hello, world!" << std::endl;
}
int main()
{
// 创建线程1
std::thread t1(threadFunc1);
// 创建线程2
std::thread t2(threadFunc2);
// 等待线程1和线程2执行完毕
t1.join();
t2.join();
return 0;
}
```
在该例子中,我们定义了两个线程函数`threadFunc1`和`threadFunc2`,分别创建了两个线程`t1`和`t2`。在每个线程函数中,我们使用`std::this_thread::get_id()`函数来获取当前线程的ID,然后打印出当前线程的ID和打印信息。在主函数中,我们使用`t1.join()`和`t2.join()`等待线程1和线程2执行完毕,然后程序退出。
该例子比较简单,但可以帮助你了解如何使用C++11编写多线程程序。当然,在实际开发中,需要注意线程同步、线程安全等问题。
阅读全文