摘要:
1,Semaphores 跟应用程序的信号量用法差不多,一般把value初始化为1,当做mutex用。sema_init(&sem, 1);在执行等待时(down),如果value<1, 线程将阻塞。因此semaphores不能用在禁止sleep的环境,比如中断处理。普通semaphores只允许一个线程进入临界区,而Reader/Writer Semaphores运行多个读线程进入,但只有一个写线程可以进入2,CompletionsCompletions与semaphores作用差不多,都可以实现同步的功能。不同的环境,两者的效率不同:semaphores适用这样的情况:临界资 阅读全文