最近我决定尝试阅读Raul Estrada的书籍《使用SMACK堆栈进行快速数据处理系统》。在前两章之后,我认为除了一些“hello world”之外,并没有太多有用的内容,直到我遇到了这个问题:
“正如我们所看到的,惰性求值还可以防止死锁和瓶颈,因为它可以防止一个进程无限期地等待另一个进程的结果。”
我被这个说法惊呆了,试图找到任何支持惰性求值可以预防死锁的论据。这个说法是关于Scala和Spark的。不幸的是,我没有找到任何证据。据我所知,为了避免死锁,您必须确保以下至少发生其中之一:
1. 互斥 2. 锁和等待 3. 无抢占 4. 循环等待
那么惰性求值如何可以防止其中的任何一个呢?
“正如我们所看到的,惰性求值还可以防止死锁和瓶颈,因为它可以防止一个进程无限期地等待另一个进程的结果。”
我被这个说法惊呆了,试图找到任何支持惰性求值可以预防死锁的论据。这个说法是关于Scala和Spark的。不幸的是,我没有找到任何证据。据我所知,为了避免死锁,您必须确保以下至少发生其中之一:
1. 互斥 2. 锁和等待 3. 无抢占 4. 循环等待
那么惰性求值如何可以防止其中的任何一个呢?