当前位置: 首页>>代码示例>>Java>>正文


Java Worker.schedulePeriodically方法代码示例

本文整理汇总了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());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:23,代码来源:HandlerSchedulerTest.java

示例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());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:25,代码来源:HandlerSchedulerTest.java

示例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();
    }
}
 
开发者ID:akarnokd,项目名称:RxJava2Swing,代码行数:20,代码来源:SwingSchedulersTest.java

示例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());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:30,代码来源:HandlerSchedulerTest.java

示例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());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:34,代码来源:HandlerSchedulerTest.java

示例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());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:32,代码来源:HandlerSchedulerTest.java

示例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();
    }
}
 
开发者ID:akarnokd,项目名称:RxJava2Extensions,代码行数:55,代码来源:ParallelSchedulerTest.java


注:本文中的io.reactivex.Scheduler.Worker.schedulePeriodically方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。