我正在浏览jetty代码,我在 ShutdownMonitor 中遇到了这个函数:
private final Set<LifeCycle> _lifeCycles = new LinkedHashSet<>();
private boolean containsLifeCycle(LifeCycle lifeCycle)
{
synchronized (this)
{
return _lifeCycles.contains(lifeCycle);
}
}
同样,
public int getPort()
{
synchronized (this)
{
return port;
}
}
还有一些其他功能可以添加/删除生命周期。它们是同步的(,它们)很好。但为什么我们需要同步函数只涉及读?