0
设置
我很困惑,当我读了RxJava的源代码: 是否有必要分配“资源”设置?是否需要分配“资源”在RxJava
在Rxjava类CompositeDisposable 代码:
@Override
public boolean add(Disposable d) {
ObjectHelper.requireNonNull(d, "d is null");
if (!disposed) {
synchronized (this) {
if (!disposed) {
**OpenHashSet<Disposable> set = resources;**
if (set == null) {
set = new OpenHashSet<Disposable>();
resources = set;
}
set.add(d);
return true;
}
}
}
d.dispose();
return false;
}
代码我修改:
@Override
public boolean add(Disposable d) {
ObjectHelper.requireNonNull(d, "d is null");
if (!disposed) {
synchronized (this) {
if (!disposed) {
OpenHashSet<Disposable> set = resources;
if (resources == null) {
resources = new OpenHashSet<Disposable>();
}
resources.add(d);
return true;
}
}
}
d.dispose();
return false;
}
请向在GitHub上的仓库你的问题:https://github.com/ReactiveX/ RxJava –
'资源'可能会或可能不会为空。 –