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

php网站开发干嘛的网络管理员正在设计新的无线网络

php网站开发干嘛的,网络管理员正在设计新的无线网络,郑州专业做网站,广元网站设计头文件 #include <semaphore.h> 创建信号量 对给定的信号量对象进行初始化。 函数原型 int sem_init(sem_t *sem, int pshared, unsigned int value); sem&#xff1a;指向要初始化的信号量的指针 pshared&#xff1a;表示信号量的共享方式&#xff0c;0 表示在同一进…

头文件

#include <semaphore.h>

 

创建信号量

        对给定的信号量对象进行初始化。

函数原型

int sem_init(sem_t *sem, int pshared, unsigned int value);

sem:指向要初始化的信号量的指针

pshared:表示信号量的共享方式,0 表示在同一进程的多个线程间共享,非 0 表示在不同进程间共享
value:信号量的初始值 

sem_post函数 

        给信号量的值+1。

函数原型

int sem_post(sem_t *sem);

参数解释

        sem:初始化的信号量对象的指针作为参数,用来改变该对象的值

返回值

        成功:如果 sem_post 函数调用成功,它将返回 0,表示信号量的值已经成功增加,并且可能唤醒了正在等待该信号量的线程。

        失败:如果调用失败,函数将返回 -1,并设置 errno 变量来指示具体的错误原因。

sem_wait函数

        从信号量的值-1,但它永远会先等待该信号量为一个非零值才开始做减法

函数原型

int sem_wait(sem_t *sem);

参数解释

        sem:初始化的信号量对象的指针作为参数,用来改变该对象的值

返回值

        成功:返回0

sem_destroy函数

        用完信号量后,对该信号量进行清理。

        归还自己占有的一切资源,在清理信号量的时候如果还有线程在等待他,用户就会收到一个错误。

函数原型

int sem_destroy(sem_t *sem);

参数解释

        sem:初始化的信号量对象的指针作为参数,用来改变该对象的值

返回值

        调用成功:返回0

示例

#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <iostream>
#include <semaphore.h>using namespace std;// 线程的安全问题:多线程访问共享数据,且对共享数据的操作为非原子性操作(不可能被中断的操作)int tickets = 10; // 总票数
sem_t sem; // 线程信号量void* thread_handle2(void* data) 
{char* name = (char*)data;while (true) {sem_wait(&sem);if (tickets > 0) {usleep(1);printf("%s已出票,剩余票数是:%d\n", name, --tickets);}else {printf("%s票已售罄\n", name);break;}sem_post(&sem);}
}int main() 
{pthread_t thread_id;int res = sem_init(&sem, 0, 1);char* s1 = "thread01";char* s2 = "thread02";char* s3 = "thread03";pthread_create(&thread_id, NULL, thread_handle2, s1);pthread_create(&thread_id, NULL, thread_handle2, s2);pthread_create(&thread_id, NULL, thread_handle2, s3);while (true) {}return 0;
}

结果

http://www.dtcms.com/wzjs/810208.html

相关文章:

  • 打电话沟通做网站话术周口网站建设哪家好
  • 网站服务器设置地点手机大全及价格
  • 网站优化的公司做网站基本东西
  • 聚民网网站建设桂林尚品网络做的网站好不好
  • 事业单位网站设计营销型门户网站建设方案
  • 重庆建站公司费用公司网站如何做水印
  • 门户网站是网站建站行业
  • dedecms 把自己的网站添加进去微信里面的小程序怎么设置
  • 北京 网站定制开发自己怎么开发游戏软件
  • 汕头网站建设平台wordpress添加贴吧表情
  • 网站建设 动态添加内容学科主题资源网站的建设
  • 台州做网站联系方式wordpress wp.net
  • wordpress 整容模板搜索引擎优化的主要策略
  • 平顶山市做网站深圳网站建设公司 评论
  • 哪个网站的品牌特卖做的好九江网站建设优化
  • php与mysql网站开发...公司网站建设属于什么职位
  • wordpress主题安装教程信息流优化师职业规划
  • 上海自主建站模板网站如何设置广告
  • 温州阀门外贸网站建设哈尔滨的建设信息网站
  • 菏泽培训网站建设西安seo优化推广
  • 湖北城市建设职业技术学院官方网站做高端网站的公司
  • 网站静态页面下载工具建设网站找哪个公司
  • 自己做的网站怎么弄成app深圳网站建设首选
  • 电商网站改版思路vpswindows俄罗斯
  • 泰通建设集团网站网页链接提取工具
  • 长春哪里做网站长沙网络营销网站建设
  • 做个网站一年要多少钱视频拍摄培训
  • 国外炫网站app与小程序的区别
  • 带后台网站建设网页设计与制作教材电子版
  • 咸宁网站设计公司网站首页图片代码