news 2026/6/10 13:03:33

利用动态锁完成红绿灯交替

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用动态锁完成红绿灯交替

利用动态锁完成红绿灯交替

#include <myhead.h>

sem_t sem1,sem2,sem3;

void *task1(void *p)

{

while(1)

{

sem_wait(&sem1);

sleep(1);

printf("红灯\n");

sem_post(&sem2);

}

}

void *task2(void *p)

{

while(1)

{

sem_wait(&sem2);

sleep(1);

printf("黄灯\n");

sem_post(&sem3);

}

}

void *task3(void *p)

{

while(1)

{

sem_wait(&sem3);

sleep(1);

printf("绿灯\n");

sem_post(&sem1);

}

}

int main(int argc, const char *argv[])

{

pthread_t tid1,tid2,tid3;

sem_init(&sem1,0,1);

sem_init(&sem2,0,0);

sem_init(&sem3,0,0);

if(pthread_create(&tid1,NULL,task1,NULL)!=0)

{

perror("pthread_create");

return -1;

}

if(pthread_create(&tid2,NULL,task2,NULL)!=0)

{

perror("pthread_create");

return -1;

}

if(pthread_create(&tid3,NULL,task3,NULL)!=0)

{

perror("pthread_create");

return -1;

}

while(1);

return 0;

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 6:41:26

零基础玩转B站视频解析:5分钟快速上手终极指南

零基础玩转B站视频解析&#xff1a;5分钟快速上手终极指南 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 还在为无法下载B站视频而烦恼吗&#xff1f;bilibili-parse作为一款简单易用的B站视频解析神…

作者头像 李华
网站建设 2026/6/8 22:55:29

智慧树学习助手:一键解放双手的智能刷课方案

智慧树学习助手&#xff1a;一键解放双手的智能刷课方案 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树冗长的视频课程而烦恼吗&#xff1f;每次都要手动…

作者头像 李华
网站建设 2026/6/5 10:33:56

STL转STEP:让3D打印模型轻松走进工程设计世界

STL转STEP&#xff1a;让3D打印模型轻松走进工程设计世界 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 你是否曾经遇到过这样的场景&#xff1a;精心设计的3D打印模型完成得相当完美&#xf…

作者头像 李华
网站建设 2026/6/9 22:24:34

基于Qwen3-VL-30B的图文理解系统搭建全攻略(含PyTorch安装指南)

基于Qwen3-VL-30B的图文理解系统搭建全攻略&#xff08;含PyTorch安装指南&#xff09; 在企业文档自动化、智能客服升级和AI代理构建日益迫切的今天&#xff0c;单一文本或图像处理技术已难以满足复杂场景下的认知需求。真正的挑战在于&#xff1a;如何让机器像人一样&#xf…

作者头像 李华
网站建设 2026/5/29 0:23:28

Syncthing-Android终极指南:打造私有云同步网络的完整教程

Syncthing-Android终极指南&#xff1a;打造私有云同步网络的完整教程 【免费下载链接】syncthing-android Wrapper of syncthing for Android. 项目地址: https://gitcode.com/gh_mirrors/sy/syncthing-android 在数据泄露频发的数字时代&#xff0c;Syncthing-Android…

作者头像 李华
网站建设 2026/6/10 0:21:42

移动端PDF预览问题解决方案:实战pdfh5.js手势缩放技术

还在为移动端PDF预览体验不佳而烦恼吗&#xff1f;用户抱怨页面加载缓慢、手势操作不流畅、显示效果模糊&#xff1f;这些问题在移动设备上尤为突出。今天&#xff0c;我们将深入探讨一款专为移动端设计的PDF预览工具——pdfh5.js&#xff0c;看看它如何通过简洁的代码解决这些…

作者头像 李华