QueueClient.OnMessage 方法是否总是在不同的线程上执行回调参数?
我假设如果 MaxConcurrentCalls 设置为 10,那么 queueClient 将启动最多 10 个线程来并行处理消息。如果传入 MaxConcurrentConnection 值 1,是否会创建一个新线程,或者它是否在当前线程上执行?
我的实际问题:
在工作人员角色中,我想处理多个队列,但同时处理它们。例如
_queueClient1.OnMessage(x =>
{
// Do something
}, new OnMessageOptions { MaxConcurrentCalls = 1});
_queueClient2.OnMessage(x =>
{
// Do something
}, new OnMessageOptions { MaxConcurrentCalls = 1 });
_queueClient3.OnMessage(x =>
{
// Do something
}, new OnMessageOptions { MaxConcurrentCalls = 1 });
_queueClient4.OnMessage(x =>
{
// Do something
}, new OnMessageOptions { MaxConcurrentCalls = 1 });
这是否会导致每个回调并行执行,以便 _queueClient4 回调在执行之前不会等待 _queueClient2 完成?