信号量sem_t
来源:互联网 发布:终结者 知乎 编辑:程序博客网 时间:2024/05/19 02:43
------函数sem_init()用来初始化一个信号量。
-----函数sem_post( sem_t *sem)用来增加信号量的值。当有线程阻塞在这个信号量上时,调用这个函数会使其中的一个线程不再阻塞,选择机制同样是由线程的调度策略决定的。
-----函数sem_wait( sem_t *sem)被用来阻塞当前线程直到信号量sem的值大于0,解除阻塞后将sem的值减一,表明公共资源经使用后减少。
-----函数sem_trywait ( sem_t *sem)是函数sem_wait()的非阻塞版本,它直接将信号量sem的值减一。
-----函数sem_destroy(sem_t *sem)用来释放信号量sem。
(1)信号量用sem_init函数创建的,下面是它的说明:
(2)这两个函数控制着信号量的值,它们的定义如下所示:
(3)
#include<semaphore.h>
int sem_getvalue(sem_t *sem, int *valp);
(4)
然而在linux的线程中,其实是没有任何资源关联到信号量对象需要释放的,因此在linux中,销毁信号量对象的作用仅仅是测试是否有线程因为该信号量在等待。如果函数返回0说明没有,正常注销信号量,如果返回EBUSY,说明还有线程正在等待该信号量的信号。
信号量的使用如下步骤小结:
转自:http://blog.sina.com.cn/s/blog_43f937a60100tj77.html
- 信号量sem_t
- 信号量 sem_t
- 信号量sem_t
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- 信号量sem_t的使用
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- Linux信号量 sem_t简介
- sem_t 等相关函数 信号量
- 信号量sem_t,互斥锁pthread_mutex_t的使用
- 信号量sem_t,互斥锁pthread_mutex_t的使用
- 信号量sem_t,互斥锁pthread_mutex_t的使用
- Linux 信号量sem_t 简介 (线程)
- 信号量sem_t\sem_init\sem_post\sem_wait\sem_destroy
- tq2440 按键中断 去抖 改进版 驱动
- 单例模式的两种方式
- 去除vim ^M符号
- test9-5(用点类做成员的三角形类)
- centos 搭建svn服务器
- 信号量sem_t
- java中接口和抽象类的区别
- Django中的Python高级特性
- jquery cookie和js文件中使用encodeURI()方法
- Hive函数大全
- ArcGIS Engine 10.2 如何发布服务
- __attribute__机制介绍
- 编写简单的c运行库
- 面试知识总结(一)