C++ queue 线程
时间: 2023-07-26 16:04:20 浏览: 108
queue的C++实现
4星 · 用户满意度95%
你想了解关于 C++ 中的队列(queue)和线程(thread)的部分吗?
在 C++ 中,队列是一种常见的数据结构,它遵循先进先出(FIFO)的原则。你可以使用 `std::queue` 类模板来实现队列。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <queue>
#include <thread>
std::queue<int> myQueue; // 定义一个整数类型的队列
void producer() {
for (int i = 0; i < 10; ++i) {
myQueue.push(i);
std::cout << "Produced: " << i << std::endl;
}
}
void consumer() {
while (!myQueue.empty()) {
int value = myQueue.front();
myQueue.pop();
std::cout << "Consumed: " << value << std::endl;
}
}
int main() {
std::thread producerThread(producer);
std::thread consumerThread(consumer);
producerThread.join();
consumerThread.join();
return 0;
}
```
在上面的示例中,我们创建了一个生产者线程(`producer`)和一个消费者线程(`consumer`)。生产者线程将 0 到 9 的整数依次入队列,消费者线程则从队列中取出元素并进行处理。`std::thread` 类用于创建和管理线程,`join()` 函数用于等待线程执行完毕。
这只是一个简单的示例,实际应用中可能涉及更复杂的线程同步和互斥操作。如果你对此有更具体的问题,我会很乐意帮助你。
阅读全文