任务的特定调度程序线程每个任务都应该有自己的调度程序线程
Specific scheduler’s threads for tasks each task should have it’s own scheduler’s thread
我想为任务创建特定的调度程序线程,这样每个任务都应该有自己的调度程序线程。我们如何才能做到这一点?
- subject_1.onNext(task) -> 在调度程序的线程 1
上发出 Task_1
- subject_1.onNext(task) -> 在调度程序的线程 2
上发出 Task_2
工作完成后,发出任务并在同一个调度程序的线程上接收它。
- subject_1.filter(task) -> 在 Scheduler 的线程 1
上开始使用 Task_1
- subject_1.filter(任务)-> 开始在调度程序的线程 2Task_2 上工作
伪代码:
// Filter a task A on a Task-1-Thread, filter a task B on a Task-2-Thread, and so on..
return Single
.just(task)
.doOnNext { subject_1.onNext(task) } // Emit a task A on a caller's thread
.observeOn(scheduler)
.flatMap {
subject_2
// Received on Task-{x}-Thread
.filter { doSomeStuff() } <- Release Task-{x}-Thread
subject_1
.flatmap {}
.observeOn(scheduler)
.doOnNext { subject_2.onNext(task) } // Emit a task A on task a specific thread: Task-{x}-Thread
.subscribe()
我正在寻找这样的东西:
Single.just(任务).observeOn(printingScheduler, 任务)
听起来你在找 Schedulers.newThread()
:
Returns a default, shared Scheduler instance that creates a new Thread for each unit of work.
我想为任务创建特定的调度程序线程,这样每个任务都应该有自己的调度程序线程。我们如何才能做到这一点?
- subject_1.onNext(task) -> 在调度程序的线程 1 上发出 Task_1
- subject_1.onNext(task) -> 在调度程序的线程 2 上发出 Task_2
工作完成后,发出任务并在同一个调度程序的线程上接收它。
- subject_1.filter(task) -> 在 Scheduler 的线程 1 上开始使用 Task_1
- subject_1.filter(任务)-> 开始在调度程序的线程 2Task_2 上工作
伪代码:
// Filter a task A on a Task-1-Thread, filter a task B on a Task-2-Thread, and so on..
return Single
.just(task)
.doOnNext { subject_1.onNext(task) } // Emit a task A on a caller's thread
.observeOn(scheduler)
.flatMap {
subject_2
// Received on Task-{x}-Thread
.filter { doSomeStuff() } <- Release Task-{x}-Thread
subject_1
.flatmap {}
.observeOn(scheduler)
.doOnNext { subject_2.onNext(task) } // Emit a task A on task a specific thread: Task-{x}-Thread
.subscribe()
我正在寻找这样的东西:
Single.just(任务).observeOn(printingScheduler, 任务)
听起来你在找 Schedulers.newThread()
:
Returns a default, shared Scheduler instance that creates a new Thread for each unit of work.