代码检查:字段上的同步不一致
此代码检查会警告您字段在有锁和无锁的情况下同时被使用,从而帮助您检测潜在的线程安全问题。 示例如下:
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月 26日