本文整理汇总了Java中io.reactivex.Scheduler.Worker.schedulePeriodically方法的典型用法代码示例。如果您正苦于以下问题:Java Worker.schedulePeriodically方法的具体用法?Java Worker.schedulePeriodically怎么用?Java Worker.schedulePeriodically使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.reactivex.Scheduler.Worker
的用法示例。
在下文中一共展示了Worker.schedulePeriodically方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: workerSchedulePeriodicallyReschedulesItself
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test @Ignore("Implementation delegated to default RxJava implementation")
public void workerSchedulePeriodicallyReschedulesItself() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
worker.schedulePeriodically(counter, 1, 1, MINUTES);
runUiThreadTasks();
assertEquals(0, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(3, counter.get());
}
示例2: workerSchedulePeriodicallyDisposedDoesNotRun
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test @Ignore("Implementation delegated to default RxJava implementation")
public void workerSchedulePeriodicallyDisposedDoesNotRun() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable();
Disposable disposable = worker.schedulePeriodically(counter, 1, 1, MINUTES);
runUiThreadTasks();
assertEquals(0, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
disposable.dispose();
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
}
示例3: workerPeriodic
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test
public void workerPeriodic() throws Exception {
Task t = new Task(3);
Worker w = SwingSchedulers.edt().createWorker();
try {
Disposable d = w.schedulePeriodically(t, 100, 100, TimeUnit.MILLISECONDS);
Assert.assertTrue(t.await(5, TimeUnit.SECONDS));
d.dispose();
Thread.sleep(500);
Assert.assertEquals(3, t.calls);
} finally {
w.dispose();
}
}
示例4: workerSchedulePeriodicallyUsesHookOnce
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test @Ignore("Implementation delegated to default RxJava implementation")
public void workerSchedulePeriodicallyUsesHookOnce() {
Worker worker = scheduler.createWorker();
final CountingRunnable newCounter = new CountingRunnable();
final AtomicReference<Runnable> runnableRef = new AtomicReference<>();
RxJavaPlugins.setScheduleHandler(new Function<Runnable, Runnable>() {
@Override public Runnable apply(Runnable runnable) {
runnableRef.set(runnable);
return newCounter;
}
});
CountingRunnable counter = new CountingRunnable();
worker.schedulePeriodically(counter, 1, 1, MINUTES);
// Verify our action was passed to the schedulers hook.
assertSame(counter, runnableRef.get());
runnableRef.set(null);
idleMainLooper(1, MINUTES);
runUiThreadTasks();
// Verify the scheduled action was the one returned from the hook.
assertEquals(1, newCounter.get());
assertEquals(0, counter.get());
// Ensure the hook was not called again when the runnable re-scheduled itself.
assertNull(runnableRef.get());
}
示例5: workerSchedulePeriodicallyDisposedDuringRunDoesNotReschedule
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test @Ignore("Implementation delegated to default RxJava implementation")
public void workerSchedulePeriodicallyDisposedDuringRunDoesNotReschedule() {
Worker worker = scheduler.createWorker();
final AtomicReference<Disposable> disposableRef = new AtomicReference<>();
CountingRunnable counter = new CountingRunnable() {
@Override public void run() {
super.run();
if (get() == 2) {
disposableRef.get().dispose();
}
}
};
Disposable disposable = worker.schedulePeriodically(counter, 1, 1, MINUTES);
disposableRef.set(disposable);
runUiThreadTasks();
assertEquals(0, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
// Dispose will have happened here during the last run() execution.
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
}
示例6: workerSchedulePeriodicallyThrowingDoesNotReschedule
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
@Test @Ignore("Implementation delegated to default RxJava implementation")
public void workerSchedulePeriodicallyThrowingDoesNotReschedule() {
Worker worker = scheduler.createWorker();
CountingRunnable counter = new CountingRunnable() {
@Override public void run() {
super.run();
if (get() == 2) {
throw new RuntimeException("Broken!");
}
}
};
worker.schedulePeriodically(counter, 1, 1, MINUTES);
runUiThreadTasks();
assertEquals(0, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(1, counter.get());
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
// Exception will have happened here during the last run() execution.
idleMainLooper(1, MINUTES);
runUiThreadTasks();
assertEquals(2, counter.get());
}
示例7: shutdown
import io.reactivex.Scheduler.Worker; //导入方法依赖的package包/类
protected void shutdown(Scheduler s) throws InterruptedException {
try {
Worker w = s.createWorker();
w.dispose();
assertSame(Disposables.disposed(), w.schedule(this));
assertSame(Disposables.disposed(), w.schedule(this, 100, TimeUnit.MILLISECONDS));
assertSame(Disposables.disposed(), w.schedulePeriodically(this, 100, 100, TimeUnit.MILLISECONDS));
s.shutdown();
assertSame(Disposables.disposed(), s.scheduleDirect(this));
assertSame(Disposables.disposed(), s.scheduleDirect(this, 100, TimeUnit.MILLISECONDS));
assertSame(Disposables.disposed(), s.schedulePeriodicallyDirect(this, 100, 100, TimeUnit.MILLISECONDS));
w = s.createWorker();
assertSame(Disposables.disposed(), w.schedule(this));
assertSame(Disposables.disposed(), w.schedule(this, 100, TimeUnit.MILLISECONDS));
assertSame(Disposables.disposed(), w.schedulePeriodically(this, 100, 100, TimeUnit.MILLISECONDS));
assertEquals(0, calls.get());
s.start();
s.scheduleDirect(this);
s.scheduleDirect(this, 100, TimeUnit.MILLISECONDS);
s.schedulePeriodicallyDirect(this, 100, 100, TimeUnit.MILLISECONDS);
w = s.createWorker();
w.schedule(this);
w.schedule(this, 100, TimeUnit.MILLISECONDS);
w.schedulePeriodically(this, 100, 100, TimeUnit.MILLISECONDS);
Thread.sleep(1000);
int c = calls.get();
assertTrue("" + c, c > 6);
} finally {
s.shutdown();
}
}