用boost多线程 写一个demo
时间: 2023-07-18 17:39:57 浏览: 96
好的,以下是一个使用 Boost 库实现多线程的简单示例代码:
```c++
#include <iostream>
#include <boost/thread.hpp>
void thread_func() {
for (int i = 0; i < 5; i++) {
std::cout << "Thread " << boost::this_thread::get_id() << ": " << i << std::endl;
boost::this_thread::sleep_for(boost::chrono::milliseconds(500)); // 线程休眠 500 毫秒
}
}
int main() {
std::cout << "Main thread " << boost::this_thread::get_id() << " started." << std::endl;
boost::thread t1(thread_func); // 创建一个新线程
boost::thread t2(thread_func); // 再创建一个新线程
t1.join(); // 等待线程 t1 结束
t2.join(); // 等待线程 t2 结束
std::cout << "Main thread " << boost::this_thread::get_id() << " ended." << std::endl;
return 0;
}
```
这个程序创建了两个新线程,每个线程都会输出一些信息并且休眠 500 毫秒。在主线程中,我们使用 `boost::thread::join()` 函数等待线程的结束,并输出一些信息。注意,在使用 Boost 多线程库时,请确保在编译时链接 Boost 库。
希望这个简单的示例能够帮助你理解 Boost 多线程的使用。
阅读全文