我的代码有什么问题吗?
ParseObservable.find(myQuery)
.map(myMapFunc())
.subscribeOn(AndroidSchedulers.handlerThread(new Handler()))
.subscribe(
new Subscriber<MyObj>() {
@Override
public void onError(Throwable e) {
Log.e("error","error",e);
}
@Override
public void onNext(T t) {
// ... worker thread (but here is ok)
}
public void onCompleted() {
// ... worker thread again instead of mainThread
}
}
)
);
不幸的是,所有方法的订阅都在同一个线程中(onnext
、onerror
和oncompleted
但是您可以在schedulers.io()
和onnext(tt)
方法中观察,创建一个新的observable
,以便在mainthread
中监听,如下所示:
ParseObservable.find(myQuery)
.map(myMapFunc())
.subscribeOn(Schedulers.io())
.subscribe(
new Subscriber<MyObj>() {
@Override
public void onError(Throwable e) {
Log.e("error","error",e);
}
@Override
public void onNext(T t) {
Observable.just(t)
.observeOn(AndroidSchedulers.mainThread())
.subscribe((t) -> {
// do something in MainThread
})
}
public void onCompleted() {
// ... worker thread again instead of mainThread
}
}
)
);
希望能有所帮助!
我有一个骨干应用程序,我正在构建与Trigger.io,并有一点困惑,为什么当我单击手机工具栏中的后退按钮时,数据正在消失。 以下是设置: 我有一个视图SearchResultsView,看起来像这样(为了简洁起见删除了Trigger.io代码): 以下是模板: 这是路由器: 它在实践中是这样工作的:当我最初加载页面时,没有结果列表(应该是这样)。我输入查询并执行搜索,然后它会回来,按照它应该的方
我通过使用Executor服务创建3个线程(extends Runnable)并提交它们来执行主类中的三个任务。如下所示: 当线程中出现异常时,我捕获它并执行System.exit(-1)。但是,如果发生任何异常,我需要返回到主类,并在那里执行一些语句。这怎么做?我们能在没有FutureTask的情况下从这些线程中返回一些东西吗?
我是spring batch的新手。我已经使用多个线程从spring创建并成功执行了作业,它工作得很好,只是当程序执行完成时,程序流不会结束/停止。i、 即使main方法的最后一条语句被执行,程序也不会退出。我不确定它是否一直在等待线程完成,或者是什么。有人能给我一些建议吗?“下面是我的作业配置文件 下面是启动器代码 如上所述,代码在5个不同的线程中为任务“hello”运行,为任务“world”运
问题内容: 我如何获得一个线程以将元组或我选择的任何值返回给Python中的父级? 问题答案: 我建议您在启动线程之前实例化Queue.Queue,并将其作为线程的args之一传递:在线程完成之前,它将结果作为参数接收到的队列中。父母可以或愿意。 队列通常是在Python中安排线程同步和通信的最佳方法:队列本质上是线程安全的消息传递工具,这是组织多任务的最佳方法!
我正在使用Tensorflow和Flask开发一个python(3.6)项目。我需要在flask函数中运行Tensorflow模型,但它返回一个错误。 这是我的密码: 应用程序。派克 但当我运行我的flask应用程序时,它返回错误为: 2018-09-05 11:08:54.952 Python[3772:69116]警告:NSWindow拖动区域只能在主线程上无效!这将在中引发异常 未来。从(0
根据这个问题,这是登录失败的结果。AuthenticationToken(在本例中是UsernamePasswordAuthenticationToken)被AuthenticationManager拒绝。我不知道它为什么要做这样的事。默认UserDetails对象的身份验证似乎工作得很好。有人能帮我解决这个问题吗? 关于已实现类的一些细节(如上所述)。由于原因,这里遗漏了一些代码。 Custom
问题内容: 我有一个方法。值在内部被更改,我想将其返回给该方法。有没有办法做到这一点? 问题答案: 可以使用局部最终变量数组。该变量必须是非基本类型,因此可以使用数组。你还需要同步两个线程,例如使用CountDownLatch: 你也可以这样使用an Executor和a Callable:
问题内容: 我有一个如下的Java线程: 我大约有300个ID,每隔几秒钟-我启动线程以对每个ID进行呼叫。例如。 现在,我想从每个线程收集结果,并批量插入数据库,而不是每2秒进行300次数据库插入。 知道我该如何做到吗? 问题答案: 如果要在执行数据库更新之前收集所有结果,则可以使用该方法。如daveb建议的那样,如果您一次提交一项任务,则可以完成簿记工作。