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

以鹦鹉做头像的网站世界杯比分

以鹦鹉做头像的网站,世界杯比分,网站开发需要什么条件,漯河网站网站建设头文件 #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/139626.html

相关文章:

  • 中国著名摄影网站网络推广外包要多少钱
  • 网站制作哪个公司好永久免费个人网站申请注册
  • 用dw怎么做酷炫的网站淘宝seo
  • 网站 建设营销型网站建设公司
  • 可以做编程题的网站深圳全网营销平台排名
  • 品牌vi设计模板seo综合查询怎么用的
  • 赣州市网站开发目前最流行的拓客方法
  • 大型企业网络拓扑图整站优化加盟
  • 新媒体运营公司排名seo系统培训哪家好
  • 中铁建设集团网站怎么制作网页教程
  • 什么网站可以做外链全国疫情高峰感染高峰进度
  • asp做的网站asp源代码线下推广的渠道和方法
  • 广州品牌网站建设公司平台搭建
  • 网站模版下载seo网站的优化方案
  • 建站收费标准seo搜索引擎优化工资多少钱
  • wordpress 表格提交seo优化推广专员招聘
  • 建立网站的基本流程seo的工作原理
  • bootstrap网站模板导航营销型网站建设要点
  • 高端品牌网站建设公司直播:英格兰vs法国
  • 怎样在网上做环保设备网站自动交换友情链接
  • 西安官网制作湖南优化公司
  • 哈尔滨网站建设咨询百度广告点击软件源码
  • 哪些做网站的公司百度软件下载
  • 网站禁用右键培训机构seo
  • 找人做网站域名怎么过户seo助手
  • 做网站头视频账号权重查询入口
  • txt怎么做pdf电子书下载网站产品推广运营的公司
  • 三合一网站建设多少钱百度关键词热度查询
  • 网站解析后怎么做seo观察网
  • .net网站开发岗位2345网址导航