我的问题可能听起来很愚蠢。然而,如果有人能帮助我澄清它,那将是一个很大的帮助。谢谢。
我的第一个问题是:我可以说以下并发框架基于 Observable|Observer 模式的相同思想吗? (运行执行然后监听结果)
- Guava 可听 future
- ReactiveX 可观察
- Java 的 future
我的第二个问题属于等待结果的部分。如果我做出以下陈述,我是对还是错:
虽然在上述并发框架中我们有不同的等待结果的方式,但它们都需要一个持续检查结果的机制,可以是
while(result is not there){
sleep for dd milliseconds
}
然后根据框架的开发方式,会添加线程、超时检查……功能。
最佳答案
对于你的第一个问题/陈述:你(以及我和唐纳德·特朗普)可以说任何我们喜欢的内容,技巧是用令人信服的论据来支持我们所说的话为什么是正确的。但更简洁地说,我认为你的观点大体上是正确的。
关于你的第二个问题:你的说法是错误的。首先,Observable 使用回调模式。实现这一点的最简单方法是在观察到的更改发生后,使用同一线程通知所有已注册的 Observables。
此外,锁和锁定机制也被大量使用,尤其是线程。因此,当一个线程在另一个线程上调用 thread.join() 时,该线程至少可以/应该保留等待其完成的其他线程的列表,因此一旦完成,它就可以将它们全部唤醒。这样,就不需要忙/主动检查完成情况。
关于java - Observable|观察者模式的基本实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317813/