我是RxJava的新手,我正在试图找出是否有相当于在各种线程上并行运行多个异步任务。
我理解RxJava相当于
AsyncTask asyncTask = new AsyncTask<String, Void, ObjectType>(){
@Override
protected ObjectType doInBackground(String... params) {
return someMethod(params[0]);
}
@Override
protected void onPostExecute(ObjectType objectType) {}
}
aynctask.execute();
是
Observable.just(string)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.map(this::someMethod)
.subscribe(new Observer<ObjectType>() {
@Override
public void onCompleted() {}
@Override
public void onError(Throwable e) {}
@Override
public void onNext(ObjectType objectType) {}
});
但是我如何在RxJava中实现相当于
asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
答案 0 :(得分:2)
位于here的Rx Java文档的“Scheduler”部分很好地回答了这个问题。我不会总结这里丰富的信息就足以说明while(1):
prompt = input("Code:")
if prompt == "80803":
ec80803 += 1
print (ec80803)
的等价物是让你的Observable级联运算符中的运算符在特定的调度程序上运行。
特别是,您可以使用Schedulers.from(AsyncTask.THREAD_POOL_EXECUTOR)方法在特定asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
上执行运算符。