是否有系统的方法来了解C#中的操作是否是原子操作?或者是否有任何一般指导方针或经验法则?
我可以使用Interlocked.*同步方法来更新DateTime变量吗?
我希望在内存中保留最后触摸时间戳.多个http线程将更新最后一次触摸DateTime变量.
我很欣赏DateTime变量是被替换而不是更新的值类型.
我能想到的最好的方法是将时间戳保持为长整数
class x
{
long _lastHit;
void Touch()
{
Interlocked.Exchange( ref _lastHit, DateTime.Now.Ticks );
}
}
Run Code Online (Sandbox Code Playgroud)