使用Visual C ++,_Guarded_by_
及其静态分析功能在编译时检测潜在的竞争条件。
C#中是否有任何等效的东西,例如,在变量上添加一个属性,该变量可以通过人为错误检测竞争状况?
您几乎不走运。检查_Guarded_by_
关键字#1:由(ISyncobject 1,[ISyncobject 2],…)[自动]保护
同步对象=特殊的线程同步类–类似的变体,例如监视器,信号量,读者写锁等。用于类,方法,属性或字段。简介:添加到类,方法,属性或字段后,编译器将检查是否为此线程获取了同步对象的锁。如果遇到受保护的方法,属性,字段时同步对象未锁定,则将引发UnguardedAreaException()。
已经被要求了很长时间,尽管有人要求,它仍然是一个未解决的问题。