在C#中检测编译时的潜在竞争条件

问题描述 投票:1回答:1

使用Visual C ++,_Guarded_by_及其静态分析功能在编译时检测潜在的竞争条件。

C#中是否有任何等效的东西,例如,在变量上添加一个属性,该变量可以通过人为错误检测竞争状况?

c# multithreading attributes static-analysis
1个回答
0
投票

您几乎不走运。检查_Guarded_by_

关键字#1:由(ISyncobject 1,[ISyncobject 2],…)[自动]保护

同步对象=特殊的线程同步类–类似的变体,例如监视器,信号量,读者写锁等。用于类,方法,属性或字段。简介:添加到类,方法,属性或字段后,编译器将检查是否为此线程获取了同步对象的锁。如果遇到受保护的方法,属性,字段时同步对象未锁定,则将引发UnguardedAreaException()。

已经被要求了很长时间,尽管有人要求,它仍然是一个未解决的问题。

© www.soinside.com 2019 - 2024. All rights reserved.