0

如果我從10個線程中獲取響應並且它們中的一些同時或同時響應,會發生什麼情況,請嘗試將響應插入位於天藍色的表中表格存儲。它會打破或拋出錯誤?如果是的話,如何處理在C#中?10使用c#在Azure表存儲中同時插入10個線程

+0

你已經試過了嗎?這真的取決於數據。如果它們沒有重疊的PK/RK組合,則不會有問題。否則,您可能會遇到需要解決的衝突。 –

+0

彼得是正確的。關於併發控制的細節,我建議你閱讀博客文章:https://azure.microsoft.com/en-us/blog/managing-concurrency-in-microsoft-azure-storage-2/ –

回答

0

據我所知,azure表存儲不會捕獲您現在使用多少個線程將值插入到表中。

它只會捕獲表存儲的吞吐量。

主要是這一目標:

Maximum request rate per storage account Tables: 20,000 transactions per second (assuming 1 KB entity size) 

Target throughput for single table partition (1 KB entities): Up to 2000 entities per second 

所以,如果您的應用程序不超過表存儲吞吐量限制。它不會返回錯誤。

如果您已超過表存儲吞吐量限制,則可以使用try catch捕獲異常並在以後插入數據。

另外,正如趙興露所說,你需要考慮更多關於併發性的更多細節,你可以參考這個article