Метод запуска моей рабочей роли:
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 (оба рабочих).Является ли это возможным?
Существует ли способ, позволяющий просто работнику читать сообщение мьютексом?