0
這是我不確定的事情,如果任何人都可以提供幫助。SignalR Hub多客戶端訪問
說我有一個SignalR Hub類,它有一個Dictionary作爲成員。 其中一個Hub方法接收字符串作爲參數,將其用作鍵並更新字典中相應值的一部分。這可能包括添加/刪除字典項目。 在我的場景中,可能會有100個「同時」調用此Hub的方法。
我的問題是。更新完成時是否必須鎖定字典?或者SingalR一次只運行該方法的一個副本?
這是我不確定的事情,如果任何人都可以提供幫助。SignalR Hub多客戶端訪問
說我有一個SignalR Hub類,它有一個Dictionary作爲成員。 其中一個Hub方法接收字符串作爲參數,將其用作鍵並更新字典中相應值的一部分。這可能包括添加/刪除字典項目。 在我的場景中,可能會有100個「同時」調用此Hub的方法。
我的問題是。更新完成時是否必須鎖定字典?或者SingalR一次只運行該方法的一個副本?
我不知道直接回答你的問題,但你可以使用併發字典是安全
https://msdn.microsoft.com/en-us/library/dd287191(v=vs.110).aspx
我已經嘗試了ConcurrentDictionary。有時它的方法不如鎖定標準字典那樣方便,我認爲它有類似的開銷。 –