我有一个处理来自队列的数据的服务:
while (true)
{
if(!HaltProcessing)
{
var messages = receivedQueue.GetMessages(MessageGetLimit);
if (messages.Count() > 0)
{
ProcessQueueMessages(messages);
}
else
{
Task.Delay(PollingInterval);
}
}
}
有一个HaltProcessing
属性,当设置为 true 时,会暂停队列项的处理。我通过if statement
上面看到的来做到这一点。
有没有更好的方法来阻塞线程什么时候阻塞,HaltProcessing
什么时候true
解除阻塞false
?