【发布时间】:2018-11-06 11:40:28
【问题描述】:
为了深入了解响应式编程,我试图以一种非常简单的方式重新实现 RxJava Observable 类。这让我问了一些关于反应式编程方法的重要问题。 我想和你分享。
我没有得到的是:
反应式编程利用回调,然后繁重的异步操作由我们应用程序的工作线程(不是主线程)实现。 此工作线程等待 I/O 操作、处理等,当它完成时,它会通过回调方法 回调调用者。 优点可能是主线程不必为了等待处理的响应而被阻塞,因为它是异步的并且因为它在进程完成时被回调。
我的问题是:
与简单的多线程相比有什么优势? 我的意思是,在多线程中没有回调,因此工作线程不会回调主线程,无论如何它会将结果返回给调用者(例如使用 Callable)。
这两种情况都有一个工作线程被阻塞以等待 I/O 操作或处理。
唯一的区别是回调而不是返回。
那么我错过了什么?
【问题讨论】:
标签: java multithreading callback reactive-programming callable