C++ 从消息队列中提取所有项目
有一个连接到多个套接字的应用程序。它有两个线程,接收线程和处理线程。因此,在它们之间,我创建了一个消息队列。由于不需要逐个处理消息,因此可以从队列中提取所有消息,然后更新内部数据结构。最后,开始处理。目前,我创建了自己的消息队列。我只是想知道是否有更好的选择。ps性能至关重要C++ 从消息队列中提取所有项目,c++,sockets,message-queue,C++,Sockets,Message Queue,有一个连接到多个套接字的应用程序。它有两个线程,接收线程和处理线程。因此,在它们之间,我创建了一个消息队列。由于不需要逐个处理消息,因此可以从队列中提取所有消息,然后更新内部数据结构。最后,开始处理。目前,我创建了自己的消息队列。我只是想知道是否有更好的选择。ps性能至关重要 编辑:更好意味着良好的性能,易于使用和保证交付。可选:使用zeromq执行此操作。您可能希望更清晰地定义“更好”。很多东西都可以让msgq变得“更好”,除非它们不是您关心的东西(例如,保证交付)。Q:通过“创建我自己的消息
编辑:更好意味着良好的性能,易于使用和保证交付。可选:使用zeromq执行此操作。您可能希望更清晰地定义“更好”。很多东西都可以让msgq变得“更好”,除非它们不是您关心的东西(例如,保证交付)。Q:通过“创建我自己的消息队列”,我猜您没有使用任何标准库,如SysV消息队列、Microsoft消息队列或WCF或rabbitmq。对吗?对。只需使用std::deque和boost::mutex来创建消息队列。顺便说一句,应用程序正在Linux平台上运行。您的应用程序将绑定到网络。正确实现的数据结构的性能将不是速率决定步骤。担心其他的事。是的。我更关心上下文切换。