簡體   English   中英

C#Constructor線程安全嗎?

[英]Is a C# Constructor thread safe?

假設我有多個線程,每個線程都試圖創建同一個類的對象。
在不同線程中同時創建相同類型的對象是否會相互干擾? 我是否需要在構造函數中使用“lock”?

這在很大程度上取決於構造函數的實現。

如果構造函數只訪問該類的成員,而不是任何外部靜態類或方法,那么是 - 它是線程安全的。

但是,如果該構造函數正在訪問存在於類本身之外的非線程安全對象(例如全局單例),那么它不是線程安全的。

更新:構造函數應該注意不要訪問不是readonly或const的類的任何靜態成員。 (感謝Nathan A和LVBen)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM