@Override public void run() { if (wip.incrementAndGet() == 2) { emit(); if (wip.decrementAndGet() == 0) { downstream.onComplete(); } } } }
@Override public void onComplete() { threadsRunning.incrementAndGet(); System.out.println(">>> Busyobserver received onComplete"); onComplete = true; int concurrentThreads = threadsRunning.get(); int maxThreads = maxConcurrentThreads.get(); if (concurrentThreads > maxThreads) { maxConcurrentThreads.compareAndSet(maxThreads, concurrentThreads); } threadsRunning.decrementAndGet(); }
public FlowableAutoConnect(ConnectableFlowable<? extends T> source, int numberOfSubscribers, Consumer<? super Disposable> connection) { this.source = source; this.numberOfSubscribers = numberOfSubscribers; this.connection = connection; this.clients = new AtomicInteger(); }
@Override public void run() { c.decrementAndGet(); while (c.get() != 0) { } } });
@Test public void testUnsubscribeOnNestedTakeAndSyncInfiniteStream() throws InterruptedException { final AtomicInteger subscribeCounter = new AtomicInteger(); final AtomicInteger sentEventCounter = new AtomicInteger(); doTestUnsubscribeOnNestedTakeAndAsyncInfiniteStream(SYNC_INFINITE_OBSERVABLE_OF_EVENT(2, subscribeCounter, sentEventCounter), subscribeCounter); Thread.sleep(500); assertEquals(39, sentEventCounter.get()); }
@Override public void accept(Disposable d) { subscribed.getAndIncrement(); } })
/** * Constructor */ public Oliphaunt() { id = counter.incrementAndGet(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } }
@Override public void run() { counter.incrementAndGet(); System.out.println("counter: " + counter.get()); inner.schedule(this); }
@Override public void onNext(Integer t) { // Consume after sleep for 1 ms try { Thread.sleep(1); } catch (InterruptedException e) { // ignored } if (counter.getAndIncrement() % 100 == 0) { System.out.println("testIssue2890NoStackoverflow -> " + counter.get()); }; }
@Override public void accept(Integer d) { dispose.set(d); } });
@Test public void testUnsubscribeOnNestedTakeAndSyncInfiniteStream() throws InterruptedException { final AtomicInteger subscribeCounter = new AtomicInteger(); final AtomicInteger sentEventCounter = new AtomicInteger(); doTestUnsubscribeOnNestedTakeAndAsyncInfiniteStream(SYNC_INFINITE_OBSERVABLE_OF_EVENT(2, subscribeCounter, sentEventCounter), subscribeCounter); Thread.sleep(500); assertEquals(39, sentEventCounter.get()); }
@Override public void run() { c.decrementAndGet(); while (c.get() != 0) { } } });
@Override public void accept(Disposable d) { subscribed.getAndIncrement(); } })
@Override public void accept(Integer n) { count.incrementAndGet(); } });
@Override public void run() { counter.incrementAndGet(); System.out.println("counter: " + counter.get()); inner.schedule(this); }
@Override public void accept(Integer v) { System.out.println("Value: " + v); lastValue.set(v); } });
@Test public void testUnsubscribeOnNestedTakeAndAsyncInfiniteStream() throws InterruptedException { final AtomicInteger subscribeCounter = new AtomicInteger(); final AtomicInteger sentEventCounter = new AtomicInteger(); doTestUnsubscribeOnNestedTakeAndAsyncInfiniteStream(ASYNC_INFINITE_OBSERVABLE_OF_EVENT(2, subscribeCounter, sentEventCounter), subscribeCounter); Thread.sleep(500); assertEquals(39, sentEventCounter.get()); }
@Override public void run() { if (wip.incrementAndGet() == 2) { emit(); if (wip.decrementAndGet() == 0) { downstream.onComplete(); } } } }
@Override public void onComplete() { threadsRunning.incrementAndGet(); System.out.println(">>> Busyobserver received onComplete"); onComplete = true; int concurrentThreads = threadsRunning.get(); int maxThreads = maxConcurrentThreads.get(); if (concurrentThreads > maxThreads) { maxConcurrentThreads.compareAndSet(maxThreads, concurrentThreads); } threadsRunning.decrementAndGet(); }