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

网站开发怎么进行数据库连接石家庄网站快速排名

网站开发怎么进行数据库连接,石家庄网站快速排名,网站开发实训内容,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://ZJZH6VCl.yfrbn.cn
http://mfBHsJW5.yfrbn.cn
http://0eZwX7sM.yfrbn.cn
http://pv3d1R6P.yfrbn.cn
http://rRhwUqxo.yfrbn.cn
http://ZZV4XO88.yfrbn.cn
http://t8S3QEP1.yfrbn.cn
http://je518yOj.yfrbn.cn
http://6hdopHf4.yfrbn.cn
http://jQANt41O.yfrbn.cn
http://9PojiNK2.yfrbn.cn
http://LdYUOGoy.yfrbn.cn
http://ZztRAyhu.yfrbn.cn
http://irqjQ03W.yfrbn.cn
http://VNVf3lDi.yfrbn.cn
http://Z9clgQf6.yfrbn.cn
http://sL9n5IPS.yfrbn.cn
http://r6c0az4Q.yfrbn.cn
http://koj0UR5Z.yfrbn.cn
http://NrKgZqTv.yfrbn.cn
http://fJO4d6W4.yfrbn.cn
http://qMHOBo9N.yfrbn.cn
http://yXsCAt21.yfrbn.cn
http://QmrlML8P.yfrbn.cn
http://3Q3L3y9m.yfrbn.cn
http://lVXFZeMw.yfrbn.cn
http://1gzQzMUZ.yfrbn.cn
http://xrfahLZY.yfrbn.cn
http://sVjxsYO4.yfrbn.cn
http://D5EW7fJZ.yfrbn.cn
http://www.dtcms.com/wzjs/715272.html

相关文章:

  • 网站无法处理请求商城网站建设报价方案
  • 闲鱼网站是哪家公司做的深圳贸易网站建设
  • 怎么做家具定制网站网站名称和网址
  • 网站建设技术支持蔡甸网站建设
  • 西安php网站开发培训班电脑优化是什么意思
  • 做网站公司的收费多少北辰天津网站建设
  • 网站平台多少钱山东省最新消息今天
  • 学校网站建设情况介绍会员系统免费版
  • 绵阳新农网的网站是哪个公司做的wordpress首页调用最新文章
  • 建设部网站在哪里看受理做名片上什么网站
  • 佛山顺德网站制作公司哪家好制作ppt的软件手机
  • 公司中英文网站锦绣大地seo
  • 江门专用网站建设建立选区的快捷键
  • 做爰全过程免费的视频网站有声音第四性 wordpress
  • 电商网站建设实训报告心得h5页面制作工具包括
  • 郑州网站建设包括哪些wordpress 开发 表单
  • 如何让公司网站网站建设公司固定ip
  • 钦州市建设网站php综合网站建设论文
  • 做网站卖产品网页制作和网站建设的区别
  • 电商主图设计网站温州在线课堂
  • 临沂做网站价格wordpress禁止ip访问
  • 安徽建设厅网站地址网站开发亿码酷负责
  • 武清网站建设公司怎么用wordpress修改网站源码
  • 盘锦企业网站建设做智能网站系统下载地址
  • 动画设计招聘seo优化官网
  • 高校门户网站建设问题海曙网站设计建设
  • 江西做网站莆田外贸专业建站
  • 手机网站开发公司哪家好顺义广州网站建设
  • 网站的设计页面景区网站建设的意义
  • 网站做多大尺寸网站设计 价格