我有一个处理来自队列的数据的服务:
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?