我正在以下链接中阅读有关半同步/半异步模式的信息。
http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf
http://www.cs.wustl.edu/~schmidt/PDF/HS-HA.pdf
8.2 节中提到了识别短期任务并使用异步 I/O 实现它们。
使用被动的被动对象模型来实现这些短期任务。被动对象从其他地方(例如调用者或单独的中断堆栈)借用它们的控制线程。因此,这些任务必须使用异步 I/O,因为它们不能长时间阻塞。不阻塞的主要动机是确保其他系统任务有足够的响应时间。
我的问题是
- 作者从上面的单独中断堆栈中借用线程是什么意思?
编程简单性的需要:异步 I/O 模型的编程可能很复杂,因为输入和输出操作是由中断触发的。当当前控制线程被中断处理程序抢占时,异步可能会导致微妙的计时问题和竞争条件。此外,除运行时堆栈外,中断驱动程序还需要额外的数据结构。
作者所说的 aysnc 是什么意思会导致微妙的时序问题(在此处请求示例)?
为什么中断驱动程序除了运行时堆栈外还需要额外的数据结构。
一般来说,作者将信号或中断称为异步和多线程,将多进程称为同步?为什么?
我是 aysnc 概念的新手,所以在这里需要你的帮助。
感谢您的时间和帮助。