1
我正在使用CallContext.LogicalGetData爲了跨異步代碼共享信息。線程安全使用CallContext.LogicalSetData
我想在一個「線程安全」的方式執行這種調用:
var val = CallContext.LogicalGetData(key);
if(val==null)
{
CallContext.LogicalSetData(key, initialValue);
}
return val;
如何做到這一點任何想法?
你說得對,我不需要每個上下文鎖,一個鎖就夠了=)謝謝! – David
由於性能原因,我認爲在空檢查後放置鎖定甚至會更好。 – David
@大衛我不會那樣做。讀取變量也應該是線程安全的。 –