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

9.5 IO-线程day5

信号量打印ABC

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <25061head.h>
sem_t sem[1];
void *callback(void *arg)
{while(1){sem_wait(&sem[0]);printf("A\n");sleep(1);sem_post(&sem[1]);}pthread_exit(NULL);
}
void *callback2(void *arg)
{while(1){sem_wait(&sem[1]);printf("B\n");sleep(1);sem_post(&sem[2]);}pthread_exit(NULL);
}
void *callback3(void *arg)
{while(1){sem_wait(&sem[2]);printf("C\n");sleep(1);sem_post(&sem[0]);}pthread_exit(NULL);
}int main(int argc, const char *argv[])
{sem_init(&sem[0],0,1);sem_init(&sem[1],0,0);sem_init(&sem[2],0,0);pthread_t tid,tid2,tid3;if(pthread_create(&tid,NULL,callback,NULL)!=0){printf("pthread_create error");return -1;}if(pthread_create(&tid2,NULL,callback2,NULL)!=0){printf("pthread_create error");return -1;}if(pthread_create(&tid3,NULL,callback3,NULL)!=0){printf("pthread_create error");return -1;}pthread_join(tid,NULL);pthread_join(tid2,NULL);pthread_join(tid3,NULL);sem_destroy(&sem[0]);sem_destroy(&sem[1]);sem_destroy(&sem[2]);return 0;
}


文章转载自:

http://8DR8RTMv.snyqb.cn
http://5jE6nEhn.snyqb.cn
http://mSzal4Oe.snyqb.cn
http://uq8iscS3.snyqb.cn
http://bi44hFLB.snyqb.cn
http://BVeIf1KK.snyqb.cn
http://7KOpfEzo.snyqb.cn
http://O1QOcyOj.snyqb.cn
http://prv9muU6.snyqb.cn
http://MOtVppLJ.snyqb.cn
http://IzdZytCd.snyqb.cn
http://qdZ6edsA.snyqb.cn
http://YXZziomc.snyqb.cn
http://t5Eqyfvp.snyqb.cn
http://hbNxSGyC.snyqb.cn
http://nzNhdFd2.snyqb.cn
http://PyyfWK6n.snyqb.cn
http://Z6i01cfb.snyqb.cn
http://Jn81hikc.snyqb.cn
http://s7pz16Px.snyqb.cn
http://vXsHiIN0.snyqb.cn
http://MHzaCbjN.snyqb.cn
http://VCp23Agk.snyqb.cn
http://MLz1hyVT.snyqb.cn
http://lb58YScM.snyqb.cn
http://ZU8zsn7g.snyqb.cn
http://9oJhDxz4.snyqb.cn
http://QU8PEAF8.snyqb.cn
http://Q8NToqVl.snyqb.cn
http://BFI6Kun9.snyqb.cn
http://www.dtcms.com/a/369641.html

相关文章:

  • Doirs Routine Load
  • 1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)
  • 【Kubernetes】知识点总结5
  • 源滚滚AI编程SillyTavern酒馆配置Claude Code API教程
  • 数控机床中,进行前瞻速度规划时,根据几何约束限制计算的拐角过渡速度
  • OpenBMC之编译加速篇
  • Maya绑定:台灯绑定详细步骤
  • 华为网路设备学习-32(BGP协议 七)路由反射器与联邦
  • 【建图+dsf/最长上升子序列dp】【记录最优解路径】P2196 [NOIP 1996 提高组] 挖地雷
  • 行业了解04:医疗健康行业
  • 富文本编辑器:主流插件简介与wangEditor深度配置指南
  • 一天一个强大的黑科技网站第1期~一键抠图神器!设计师必备!分分钟扣100张图!
  • 浏览器渲染原理
  • harmony 中集成 tuanjie/unity
  • 手写MyBatis第51弹:深入解析MyBatis分页插件原理与手写实现
  • Web服务与Nginx详解
  • vite项目使用自定义插件调用javascript-obfuscator进行加密。
  • 数据结构堆树java版本实现(大顶堆)
  • 飞牛NAS配置FRP内网穿透:实现远程访问
  • C++ 文字识别OCR
  • 告别“失忆”AI:打造有记忆、有温度的智能助手
  • 龙虎榜——20250905
  • 不上融资、不炒概念,它却成了全球AI“全明星”中国独苗!
  • 第八章 Cesium 实现动态模型拖尾效果:从原理到完整实现
  • java基础学习(四):类 - 了解什么是类,类中都有什么?
  • VMWare上搭建大数据集群
  • TGRSL-2017《Fast Spectral Clustering with Anchor Graph》
  • 雅菲奥朗SRE知识墙分享(七):『可观测性的定义与实践』
  • SQLServer死锁监测方案:如何使用XE.Core解析xel文件里包含死锁扩展事件的死锁xml
  • 人脑算力究竟有多强?1000 到 100万 TOPS 的秘密!