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 –
'資源'可能會或可能不會爲空。 –