我的worker角色的run方法是:
public override void Run()
{
Message msg=null;
while (true)
{
msg = queue.GetMessage();
if(msg!=null && msg.DequeueCount==1){
//delete message
...
//execute operations
...
}
else if(msg!=null && msg.DequeueCount>1){
//delete message
...
}
else{
int randomTime = ...
Thread.Sleep(randomTime);
}
}
}
对于性能测试,我希望只能由工作人员分析消息(我不考虑工作人员的故障问题)。
但根据我的测试,似乎两个工人可以接收相同的消息并读取 DequeueCount 等于 1(两个工人)。是否可以?
是否存在一种仅允许工作人员以“互斥”方式读取消息的方式?