gpt4 book ai didi

c++ - 我可以将 boost::threadpool 用作 'thread-safe queue' 吗?

转载 作者:可可西里 更新时间:2023-11-01 16:27:14 28 4
gpt4 key购买 nike

我需要的实际上是一个线程安全的队列结构,其中多个客户端不断将数据转储到队列中,一个工作线程不断处理并弹出队列

STL 或 Boost 中是否存在任何成熟的解决方案?

我现在考虑使用 Boost::threadpool 来做这件事。只需将并行线程数设置为 1,每次有新消息从客户端到达时,任务函数的输入参数都会更改。这是否有意义,这里是否存在我尚未预料到的任何限制?

最佳答案

在 boost 中有一个 message queue class ,这就是您所需要的:一个线程安全的队列。

消息队列是一个广泛用于进程间通信的概念。消息队列是线程安全的队列,其主要特点是它会阻塞从空队列中读取数据并等待数据出现在其中。在该 boost 类中,还支持定时等待,并在队列已满时阻止编写器。

关于c++ - 我可以将 boost::threadpool 用作 'thread-safe queue' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2011863/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com