【发布时间】:2020-07-03 09:34:48
【问题描述】:
我需要以 4,8,12,16...秒的特定间隔运行 2 JOB,另一个是 5,9,13,17...秒。 p>
我在 RxJava 中使用了区间运算符。作业 B 需要在作业 A 之后运行。作业 B 应该在作业 A 运行时休眠,反之亦然。到目前为止,代码如下所示
var compositeDisposable = CompositeDisposable()
compositeDisposable.add(Observable.interval(0, recordIntervalPeriod, TimeUnit.MILLISECONDS)
.serialize()
.subscribe {
JobA()
})
compositeDisposable.add(Observable.interval(0, recorderStopIntervalStartTime, TimeUnit.MILLISECONDS)
.serialize()
.subscribe {
JobB()
})
在关注方面需要帮助
1.使用 RxJava 实现上述目标的最佳方法
2。运行 JobA 4 秒,然后运行 JobB 4 秒并再次重复该过程。
【问题讨论】:
-
我认为其中一些要求有点 oncpomatible 1.“我需要以 4,8,12,16... 秒的特定间隔运行 2 个 JOB,另一个是 5,9 ,13,17...秒。” 2.“当作业 A 运行时,作业 B 应该休眠,反之亦然” 3 “运行作业 A 4 秒,然后运行作业 B 4 秒,然后再次重复该过程。”如果两个作业都需要 4 秒,并且它们必须在另一个运行时休眠,那么它们就不能以您定义的开始时间间隔工作
-
让我澄清一下。假设我们有一个异步任务,我们从 onPostexecute 调用另一个异步任务。在第二个异步任务完成其操作后,它再次调用第一个异步任务并继续循环
标签: android synchronization rx-java android-threading