Я смотрю на поставляемый Java-код для Deflater . Я заметил, что все методы доступа к объекту ZStreamRef
, созданному изначально, синхронизируют доступ к нему. Например:
public void setLevel(int level) {
if ((level < 0 || level > 9) && level != DEFAULT_COMPRESSION) {
throw new IllegalArgumentException("invalid compression level");
}
synchronized (zsRef) {
if (this.level != level) {
this.level = level;
setParams = true;
}
}
}
Тем не менее, Javadoc не упоминает, что Deflater
является потокобезопасным. Требуется ли синхронизировать объекты, созданные изначально, до доступа к ним?