0

考虑内核中的一个场景,我们在当前线程之外启动一些活动,然后等待该活动完成。使用信号量可以很好地实现这种同步。但是,使用补全代替被认为是一种好习惯。

为什么在这种情况下完成比信号量更受欢迎?

完成可以被视为条件变量,并且大多数这些都是使用带有包装器的信号量来实现的。这对于 Linux 内核中的补全不是真的吗?

此外,文档说完成比信号量更好更轻量级。完成的实现与增加这些优势的信号量有何不同?

4

0 回答 0