0
例如,在網絡或其他多線程應用程序中使用AmazonSQSClient
:.net SDK中AWS客戶端的建議使用壽命是多少?
在任何時刻應該存在多少個實例?
我是否應該處置它並創建一個新的?
我是否需要防止創建多個實例?
例如,在網絡或其他多線程應用程序中使用AmazonSQSClient
:.net SDK中AWS客戶端的建議使用壽命是多少?
在任何時刻應該存在多少個實例?
我是否應該處置它並創建一個新的?
我是否需要防止創建多個實例?
所有客戶端實例在.NET SDK中都是線程安全的。因此,如果客戶端的狀態滿足所有線程的需求,則可以在整個應用程序中重用單個客戶端。客戶端的重量也非常輕,因此實例化和處理它們將會產生很小的開銷,並且也是有效的使用選項。
AmazonSQSClient
是一個示例,您可能希望多個客戶端使用長輪詢來最大化性能,但是會產生一些額外的成本,因此您需要爲您的應用程序平衡這些問題。
我可以想到在哪裏處理並重新初始化客戶端實例的必要性的唯一原因是防止內存泄漏並釋放引用。我沒有足夠的.NET SDK經驗來說明這一點,但我沒有遇到由Java SDK中的AWS SDK類引入的內存泄漏問題,並且實現設計看起來很相似。