semaphore, completion 和 wait_queue

semaphore 和 completion 都要使用 wait_queue_t 来实现休眠。

但completeion 和 semaphore  本质都是整数 P, V操作和对0的判断;

而用户定义的 wait_queue_t 可以实现自己的操作和 休眠判断。

semaphore 和 completion 都是是同步机制(防止并发访问的冲突)。

wait_queue 是进程休眠和唤醒的机制。

设备可以有自己的 wait_queue, 而每个semaphore 和 completion 内部也有wait_queue。

你可能感兴趣的:(Semaphore)