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 の終了を待たないように、各コールバックが並行して実行されることになりますか?