"阻塞系统调用"的意思是什么?
在我的操作系统课程中,我们正在学习多线程编程。当我在教材中读到“当一个线程进行阻塞系统调用时,它可以允许另一个线程运行”,我不确定其含义。
"阻塞系统调用"的意思是什么?
在我的操作系统课程中,我们正在学习多线程编程。当我在教材中读到“当一个线程进行阻塞系统调用时,它可以允许另一个线程运行”,我不确定其含义。
阻塞式系统调用是一种必须等待操作完成的调用。 read()
是一个很好的例子 - 如果没有输入准备好,它会一直等待,直到有输入(当然,前提是你没有将其设置为非阻塞模式,否则它将不是一个阻塞式系统调用)。显然,当一个线程在等待阻塞式系统调用时,另一个线程可以做其他事情。
希望对您有所帮助。这对于多线程应用程序尤其棘手,因为一个线程在系统调用上的阻塞可能会无限期地延迟另一个线程代码的更新。