use of io.reactivex.internal.queue.SpscArrayQueue in project RxJava by ReactiveX.
the class ParallelRunOn method subscribe.
@Override
public void subscribe(Subscriber<? super T>[] subscribers) {
if (!validate(subscribers)) {
return;
}
int n = subscribers.length;
@SuppressWarnings("unchecked") Subscriber<T>[] parents = new Subscriber[n];
int prefetch = this.prefetch;
for (int i = 0; i < n; i++) {
Subscriber<? super T> a = subscribers[i];
Worker w = scheduler.createWorker();
SpscArrayQueue<T> q = new SpscArrayQueue<T>(prefetch);
if (a instanceof ConditionalSubscriber) {
parents[i] = new RunOnConditionalSubscriber<T>((ConditionalSubscriber<? super T>) a, prefetch, q, w);
} else {
parents[i] = new RunOnSubscriber<T>(a, prefetch, q, w);
}
}
source.subscribe(parents);
}
Aggregations