gpt4 book ai didi

multithreading - 消息序号(按入队顺序)

转载 作者:行者123 更新时间:2023-12-03 13:17:28 25 4
gpt4 key购买 nike

我的应用程序(基于.NET)以多线程方式从队列中获取消息,并且我担心这样一个事实,即我可能以一种无序的方式接收消息,因为一个线程可能比另一个线程更快。 ,给出以下队列状态:

[消息5 |讯息4 |讯息3 |讯息2 |讯息1]

在多线程操作中,由于许多线程问题(线程时间片,线程调度等),即使 msg#1 在队列中排在第一位, msg#2 可能会在 msg#1 之前到达。

在这种情况下,如果队列中的消息在排队时已经标有序号/序列号,那就太好了,即使我以乱序的方式得到消息,我仍然可以在以下位置对其进行排序在我的应用程序中使用给定的序数属性的某些点。

Websphere MQ 环境中实现它的任何已知机制吗?

最佳答案

您有2个选择:

(1)如前所述,在MQ中使用消息分组或

(2)将您的应用程序更改为单线程。

注意:如果发送应用程序未设置MQMD MsgId字段,则队列管理器将生成一个唯一编号(基于队列管理器名称,日期和时间),并将其存储在消息的MQMD MsgID字段中。

关于multithreading - 消息序号(按入队顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24534433/

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