当前位置: 首页 > news >正文

秒收录的网站wordpress链接 拼音

秒收录的网站,wordpress链接 拼音,wordpress里的发消息给我,苏州网站建设名字一、信号灯集 1.1 信号灯集的概念 信号灯集是进程间同步的一种方式。 信号灯集创建后#xff0c;在信号灯集内部会有很多个信号灯。 每个信号灯都可以理解为是一个信号量。 信号灯的编号是从0开始的。 比如A进程监视0号灯#xff0c;B进程监视1号灯。 0号灯有资源在信号灯集内部会有很多个信号灯。 每个信号灯都可以理解为是一个信号量。 信号灯的编号是从0开始的。 比如A进程监视0号灯B进程监视1号灯。 0号灯有资源相应的A进程就可以去执行共享内存的写操作。 1号灯有资源相应的B进程就可以去执行共享内存的读操作。 1.2 信号灯集的API接口分析 #include sys/types.h #include sys/ipc.h #include sys/sem.h -- 所需头文件 int semget(key_t key,int nsems,int semflg); 功能获取/创建信号灯集 参数key通过ftok获取的键值nsems信号灯集中信号灯的数量semflgIPC_CREAT|0666 创建信号灯集IPC_CREAT|IPC_EXCL|0666 创建信号灯集信号灯已经存在会返回错误0如果信号灯集已经存在那么直接获取信号灯集 返回值成功返回信号灯集的id失败返回-1置位错误码#include sys/types.h #include sys/ipc.h #include sys/sem.h int semctl(int semid,int semnum,int cmd, ...); 功能控制信号灯集的属性 参数semid:信号灯的标号semnum:第几个灯cmd:IPC_STAT:获取信号灯集的属性 --- 需要使用第四个参数不关注第二个参数IPC_SET:设置信号灯集的属性 --- 需要使用到第四个参数忽略第二个参数IPC_RMID:删除信号灯集 --- 不需要第四个参数忽略第二个参数SETVAL:设置信号灯的数值 --- 需要第四个参数GETVAL:获取信号灯的数值以返回值的形式返回不需要使用第四个参数... ...union semun{int val;struct semid_ds *buf;}; 返回值 :GETVAL : 成功返回信号灯的数值其他的cmd 成功返回0失败返回-1置位错误码 ge1设置/获取信号灯集的属性union semun sems;struct semid_ds buf;sems.buf buf;semctl(semid,0,IPC_STAT,sems);//获取buf修改buf中你需要设置的数值semctl(semid,0,IPC_SET,sems);//设置 eg2获取某个信号灯的数值int val semctl(semid,1,GETVAL); //获取1号灯的数值 eg3设置某个信号灯的数值union semun sems;sems.val 1;semctl(semid,1,SETVAL,sems); //将第一个信号灯的数值设置为1 eg4删除信号灯semctl(semif,0,IPC_RMID);#include sys/types.h #include sys/ipc.h #include sys/sem.h int semop(int semid,struct sembuf *sops,size_t nsops); 功能对某些信号灯做操作 参数semid : 信号灯的编号sops : 对信号灯的操作struct sembuf{unsigned short sem_num; //信号灯的编写short sem_op; //对信号灯的操作-1: 申请资源1: 释放资源short sem_flg; //操作模式0: 阻塞IPC_NOWAIT : 非阻塞}; nsops要操作的信号灯的数量如果想要操作多个灯需要定义一个结构体数组将数组首地址传入第二个参数 返回值成功返回0失败返回-1置位错误码 read.c  read.c#include my_head.h #define SHM_SIZE 4096 union semun{int val;struct semid_ds *buf; }; //设置信号灯集中信号灯的初始值 void sems_init(int semid,int witch,int val){union semun sem {.val val,};semctl(semid,witch,SETVAL,sem); } //获取资源V操作 void V(int semid,int witch){struct sembuf buf {.sem_num witch,.sem_op -1,sem_flg 0,};semop(semid,buf,1); } //释放资源P操作 void P(int semid,int witch){struct sembuf buf {.sem_num witch,.sem_op 1,.sem_flg 0,};semop(semid,buf,1); } int main(int argc,const char *argv[]){//获取键值key_t key ftok(/home/linux,a);if(-1 key){PRINT_ERR(ftok error);}//创建/获取信号灯集int semid semget(key,2,IPC_CREAT|0666); if(-1 semid)PRINT_ERR(semget error);sems_init(semid,0,1); //第0个灯的初始值为1sems_init(semid,1,0); //第一个灯的初始值为0//获取/创建共享内存int shmid shmget(key,SHM_SIZE,IOC_CREAT|0666);if(-1 shmid)PRINT_ERR(shmget error);//映射共享内存到用户空间以读写的方式映射出来char *rbuf NULL;rbuf shmat(shmid,NULL,0);char buf[128] {0};while(1){V(semid,1); //对1号灯V操作printf(rbuf %s\n,rbuf);P(semid,0);} return 0; } write.c #include my_head.h #define SHM_SIZE 4096 union semnu{int val;struct semid_ds *buf;}; //设置信号灯集中信号灯的初始值 void sems_init(int semid,int witch,int val){union semun sem {.val val,};semctl(semid,witch,SETVAL,sem); } //获取资源V操作 void V(int semid,int witch){struct sembuf buf {.sem_num witch,.sem_op -1,.sem_flg 0,};semop(semid,buf,1); }; //释放资源P操作 void P(int semid,int witch){struct sembuf buf {.sem_num witch,.sem_op 1,.sem_flg 0,};semop(semid,buf,11); }int main(int argc,const char *argv[]){//获取键值key_t key ftok(home/linux,a);if(-1 key){PRINT_ERR(ftok error);}//获取/创建共享内存int shmid shmget(key,SHM_SIZE,IPC_CREAT|0666);if(-1 shmid){PRINT_ERR(shmget error);}//创建/获取信号灯集int semid semget(key,2,IPC_CREAT|0666);if(-1 semid){PRINT_ERR(semget error);//映射共享内存到用户空间以读写的方式映射出来char *Wbuf NULL;wbuf shmat(shmid,NULL,0);char buf[128] {0};while(1){V(semid,0);fgets(buf,sizeof(buf),stdin);buf[strlen(buf) - 1] \0;//向共享内存写入内容strcpy(wbuf,buf);p(semid,1);}} return 0; }
http://www.w-s-a.com/news/38636/

相关文章:

  • 兰州专业网站建设团队wordpress 拉取点击数
  • 基于php房产网站开发ppt模板免费下载第一ppt
  • 网站盈利模式分析怎么做山东营销网站建设联系方式
  • 二级网站建设 知乎我的个人主页模板
  • wordpress小说网站模板下载地址百度优化服务
  • 云南网页设计制作seo计费系统源码
  • 屏蔽ip网站吗行业外贸网站建设
  • 河北城乡建设学校网站常州网站建设公司平台
  • 合肥网站建设市场分析网站收录后怎么做排名
  • 湖南企业网站建设如何推广手机网站
  • 网站建设项目经历网站推广服务 商务服务
  • 加强网站的建设福州seo排名外包
  • 做婚庆找什么网站有专门为个人网站做推广的吗
  • 网站搭建要求模板学编程需要英语基础吗
  • 网上如何建网站卖量具净水机企业网站源码
  • 网站推广 软件规划设计公司年终总结
  • 视频网站开发方法微站网建站系统
  • 渐变网站网页界面设计的宗旨是什么
  • 网站排名提升工具免费韶关做网站公司
  • 做网站一个月可以赚多少钱东营市建设工程招标网
  • 网站开发工具阿里云怎么做网站
  • 用html做静态网站成都专业logo设计公司
  • 哪里有免费建站平台233小游戏网页版在线玩
  • 为什么我的网站做不起来网站能搜索到
  • 方又圆网站建设信息流广告二级代理
  • 公司管理网站首页网站后台编辑框不显示
  • aspnet网站开发模板备案 网站建设方案书
  • 营销软件网站wordpress优秀的破解主题
  • 卧龙区网站建设国内漂亮网站欣赏
  • 服装 网站模板 wordpress石家庄做网站的公司有哪些