文章插图
sem_init【sem_init】sem_init函式是Posix信号量操作中的函式 。sem_init() 初始化一个定位在 sem 的匿名信号量 。value 参数指定信号量的初始值 。pshared 参数指明信号量是由进程内执行绪共享,还是由进程之间共享 。如果 pshared 的值为 0,那幺信号量将被进程内的执行绪共享,并且应该放置在这个进程的所有执行绪都可见的地址上(如全局变数,或者堆上动态分配的变数) 。
基本介绍中文名:sem_init
头档案:#include<semaphore.h>
函式原型:unsigned int value);
返回值:int sem_init(sem
头档案#include<semaphore.h>函式原型int sem_init(sem_t *sem, int pshared, unsigned int value);说明如果 pshared 是非零值,那幺信号量将在进程之间共享,并且应该定位共享记忆体区域(见 shm_open(3)、mmap(2) 和 shmget(2)) 。因为通过 fork(2) 创建的孩子继承其父亲的记忆体映射,因此它也可以见到这个信号量 。所有可以访问共享记忆体区域的进程都可以用 sem_post(3)、sem_wait(3) 等等操作信号量 。初始化一个已经初始的信号量其结果未定义 。参数sem :指向信号量对象pshared : 指明信号量的类型 。不为0时此信号量在进程间共享,否则只能为当前进程的所有执行绪共享 。value : 指定信号量值的大小返回值sem_init() 成功时返回 0;错误时,返回 -1,并把 errno 设定为合适的值 。错误EINVALvalue 超过 SEM_VALUE_MAX 。ENOSYSpshared 非零,但系统还没有支持进程共享的信号量 。
- Precision620
- 新编妊娠·胎教·分娩·育儿百科
- 2017年河南理科状元 陈文龙
- Hometown Glory
- 乳酸桿菌
- 海米是不是海鲜
- 已婚梦到离婚什么含义
- 连翘种植前景如何
- 大口吃肉的做法
- 翡翠注胶如何鉴别