代码检查:字段上的同步不一致
此代码检查会警告您字段在使用时既有加锁又无加锁,从而帮助您检测潜在的线程安全问题。 以下是一个示例:
public class LockingSample
{
private readonly List<object> _resources = new List<object>();
private readonly object _lockObject = new object();
public void AddResource(object resource)
{
lock (_lockObject)
_resources.Add(resource);
}
public void RemoveResource(object resource)
{
// Warning: The field is sometimes used inside synchronized block
// and sometimes used without synchronization
if (_resources.Contains(resource))
{
_resources.Remove(resource);
}
}
}
此检查不会在 const 字段上触发,也不会在没有内部同步但始终从同步上下文中使用的私有方法中触发。
最后修改日期: 2025年 9月 27日