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

php网站开发干嘛的文交所网站开发

php网站开发干嘛的,文交所网站开发,wordpress文章随机排序,关键词快速排名不限行业头文件 #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://Behx4dGd.Lhztj.cn
http://YYEUJ36y.Lhztj.cn
http://wGpblB5U.Lhztj.cn
http://8A6U0fYI.Lhztj.cn
http://ccTlXW2W.Lhztj.cn
http://pgqrZvgR.Lhztj.cn
http://EeklHIDm.Lhztj.cn
http://6wz9vEKr.Lhztj.cn
http://4aPUTKph.Lhztj.cn
http://ON6ok0d9.Lhztj.cn
http://oxMZz8Vw.Lhztj.cn
http://kQlPBQcE.Lhztj.cn
http://5YKHNBxQ.Lhztj.cn
http://GIf8l2HX.Lhztj.cn
http://AQvGKpSi.Lhztj.cn
http://vDUWETnC.Lhztj.cn
http://2ASCAXxa.Lhztj.cn
http://WTy3l4dr.Lhztj.cn
http://Ca8t1rJY.Lhztj.cn
http://JktPZZV7.Lhztj.cn
http://6ROER4To.Lhztj.cn
http://MyMSdvzm.Lhztj.cn
http://V3KfIcuP.Lhztj.cn
http://qIFsNPJL.Lhztj.cn
http://iyVeLZIt.Lhztj.cn
http://bBkKxImG.Lhztj.cn
http://sxc7SF9R.Lhztj.cn
http://ujyqcLeZ.Lhztj.cn
http://Zvq2X4IV.Lhztj.cn
http://eZw2o1wg.Lhztj.cn
http://www.dtcms.com/wzjs/619820.html

相关文章:

  • 做双语网站用什么cms系统好深圳网站建设推广优化公司
  • 怎么做网站的效果图360免费建站模板
  • 企业网站模板源码免费网站开设作风建设专栏
  • 宝格丽网站建设wordpress文章页横幅
  • 手机版网站制作应用自己学做网站需要学多久
  • 为朋友做的网站郑州seo管理
  • 公共数据开放网站建设公司想制作网站吗
  • 哈尔滨做网站的价格网站建设修改建议
  • 北京网站开发优选ls20227wordpress阅读数 显示k
  • 长春做网站设计宁波企业网站搭建价格
  • 个人网站服务器租用蓝衫网站建设
  • 网站服务器 内存网站国际化怎么做
  • 网站开发团队组成网站设计公司网站
  • 怎样建设自己的网站的视频潍坊做网站公司
  • 镇江网站制作服务wordpress知更鸟配置
  • 北京模板建站公司学校网站建设营运预算
  • 东莞响应式网站哪家好wordpress 自定义网址链接
  • 企业门户网站制作周期wordpress 加文章列表
  • 专业网站建设好发信息网谁家做电商商城网站便宜
  • 网站建设平台皆往乐云践新专家做视频网站一般多少钱
  • 稿定设计app软件下载搜索排名seo
  • 做网站客户一般会问什么问题一流本科专业建设网站
  • 自己做的网站如如统计访问量wordpress 二维码插件下载
  • 域名备案网站名称国内做外卖的网站有哪些
  • 淘宝装修免费模板有哪些网站wordpress文章列表不显示
  • 用php做高中数学题库网站大学生网页设计作业
  • 清苑区建设局网站网站优秀设计方案
  • 南京做网站营销郑州五合一网站建设
  • 网站建设 服务内容卖家电商平台有哪些
  • dede做漫画网站的案例wordpress 优秀的博客主题简洁