我一直在阅读 Java 并发实践。我看过一份声明说:
在单线程程序中不会发生死锁、活锁或饥饿等活性故障。
但是,让我们看一个例子。如果单线程应用程序在渲染视图之前发出 I/O 请求,并且 I/O 请求在概念上/理论上需要无限时间。单线程应用程序确实取得了进展并阻止了自己,最终“没有好事发生”。
我的问题是,这是否只是单线程程序中可能发生活性失败的证据?或者我可能错误地理解了活性失败?
我一直在阅读 Java 并发实践。我看过一份声明说:
在单线程程序中不会发生死锁、活锁或饥饿等活性故障。
但是,让我们看一个例子。如果单线程应用程序在渲染视图之前发出 I/O 请求,并且 I/O 请求在概念上/理论上需要无限时间。单线程应用程序确实取得了进展并阻止了自己,最终“没有好事发生”。
我的问题是,这是否只是单线程程序中可能发生活性失败的证据?或者我可能错误地理解了活性失败?