[英]thread-safety when returning a simple integer member variable
在以下C#代碼段中,GetID()線程安全嗎?
public class SharedData
{
protected int _nID = 0;
public int GetID()
{
return nID;
}
}
預先感謝您的任何答復!
那取決於你所說的“線程安全”。 例如,如果用“線程安全”的意思是“將保證所有對該變量的寫入均以一致的順序發生在所有線程上”,則否,那根本不是“線程安全”。 如果您的意思是“保證該變量的測試和設置能夠提供與單線程數據依賴規則一致的結果”,則不能,這根本不是“線程安全的”。
給我們一個“線程安全”對您意味着什么的仔細定義,並向我們展示所有編寫者,以及所有與這些讀寫者有數據依賴關系的代碼,然后我們可以為您提供有意義的意見。 這個問題中沒有足夠的信息甚至無法有意義地回答這個問題。
讀取是線程安全的。 如果您要寫入nID
,那么它將成為一個問題。
它不會修改任何內容。 如何保證線程安全或不安全?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.