比方說,我叫CloudQueue.EndAddMessage(IAsyncResult)實際上做了什麼?
AsyncCallback callback = new AsyncCallback(QueueMessageAdded);
queue.BeginAddMessage(new CloudQueueMessage(message), callback, null);
其中QueueMessageAdded
是
private static void QueueMessageAdded(IAsyncResult result)
{
queue.EndAddMessage(result);
}
是什麼EndAddMessage嗎?
包括等待已呼籲所有的回調,這是因爲調用同步版本這樣的慢:
Parallel.ForEach(messages, message => queue.AddMessage(message));
第二種方法(並行)不會創建線程;它只會從線程池中獲取它們。 – Henrik
感謝您的糾正。 –