gpt4 book ai didi

c++ - 使用多线程处理队列消息

转载 作者:行者123 更新时间:2023-11-30 01:32:06 25 4
gpt4 key购买 nike

我必须为一个问题设计多线程模块。问题是,我有队列,有一个线程将消息放入消息队列,有两个线程 A 和 B,线程 A 处理偶数消息 (0,2,4..) 和线程 B处理奇数消息(1,3,5..)。我想出了两个解决方案,第一个是使用两个事件(比如 X 和 Y)事件 X 用于线程 A,Y 用于线程 B。我检查消息是否在偶数位置,我为线程 A 设置事件 X ,否则为线程 B 的 Y。第二种解决方案是为每个线程设置两个单独的任务。一个线程会将偶数位置的消息放入线程A的队列中,奇数位置的消息放入线程B的队列中,这样线程A和B就可以异步工作了。我是对的,还是有其他优雅的解决方案?

谢谢。

最佳答案

仅使用一个队列并同步 A 和 B 以确保正确的提取顺序完全是胡说八道。

只需使用两个队列,一个用于 A,一个用于 B,并确保它们被正确填充(到目前为止,这似乎是一个更简单、更清晰的问题,即使从设计 PoV 来看也是如此。

关于c++ - 使用多线程处理队列消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2216234/

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