大佬教程收集整理的这篇文章主要介绍了Semop:当减少一组信号量时,所有信号量都会立即递减或者在第一次失败时是否会阻塞?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
struct sembuf *deleter_searchers_down = malloc(sizeof (*deleter_searchers_down) * num_of_sems); for (i = 0; i < num_of_sems; ++i) { (deleter_searchers_down + i)->sem_op = -1; (deleter_searchers_down + i)->sem_num = i; (deleter_searchers_down + i)->sem_flg = SEM_UNDO; } semop(semid,deleter_searchers_down,num_of_sems);
对semop的调用将尝试立即降低集合中的所有信号量,或者一旦它试图降低0的第一个信号量并且在某个特定信号量的某些其他进程之后继续,它是否会阻塞?
关于这一点,POSIX规范可能更清楚,尽管它确实说semop是原子的.
在Linux上,glibc中的semop(3)是semop(2)的简单包装器. semop(2)手册依次说
HP-UX semop(2)联机帮助页更加清晰:
以上是大佬教程为你收集整理的Semop:当减少一组信号量时,所有信号量都会立即递减或者在第一次失败时是否会阻塞?全部内容,希望文章能够帮你解决Semop:当减少一组信号量时,所有信号量都会立即递减或者在第一次失败时是否会阻塞?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。