Multithreading 流程阻塞意味着什么?

Multithreading 流程阻塞意味着什么?,multithreading,blocking,Multithreading,Blocking,在我的操作系统课上,我的教授在描述多线程/同步时一直使用块作为动词而不是形容词。例如:“线程B尝试访问线程a当前正在使用的资源,因此线程B会阻塞。” 在没有任何先验知识的情况下,我最初会认为,对于一个要阻止的线程,它将阻止其他线程执行某些操作(例如,它持有资源的锁)。但从他说话的方式来看,“线程B阻塞”实际上意味着线程B被阻塞或阻止访问它想要访问的资源 哪个是正确的?您的插值是正确的:当它被称为“Thread B blocks”时,意味着线程B的操作被挂起,等待某个条件(可能实现,也可能无法实现

在我的操作系统课上,我的教授在描述多线程/同步时一直使用块作为动词而不是形容词。例如:“线程B尝试访问线程a当前正在使用的资源,因此线程B会阻塞。”

在没有任何先验知识的情况下,我最初会认为,对于一个要阻止的线程,它将阻止其他线程执行某些操作(例如,它持有资源的锁)。但从他说话的方式来看,“线程B阻塞”实际上意味着线程B被阻塞或阻止访问它想要访问的资源


哪个是正确的?

您的插值是正确的:当它被称为“Thread B blocks”时,意味着线程B的操作被挂起,等待某个条件(可能实现,也可能无法实现,例如,“不是”死锁的情况)。

为什么选择这种措辞?如果说一个线程“阻塞”了,那么实际上是被其他东西阻塞了,这似乎是违反直觉的。