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

网站建设的目标聊城网站开发

网站建设的目标,聊城网站开发,贝贝网网站开发背景,怎样做百度网站题目&#xff1a; 创建三个线程 id号为ABC&#xff0c;三个线程循环打印自己的ID号&#xff0c;运行顺序为 ABCABC......要求使用条件变量 #include <stdio.h> #include <pthread.h> #include <unistd.h>//创建互斥锁 pthread_mutex_t mutex PTHREAD_MUTE…

题目:

  • 创建三个线程 id号为ABC,三个线程循环打印自己的ID号,运行顺序为 ABCABC......
  • 要求使用条件变量
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>//创建互斥锁
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
//条件变量创建
pthread_cond_t cond1 =PTHREAD_COND_INITIALIZER;
pthread_cond_t cond2 =PTHREAD_COND_INITIALIZER;
pthread_cond_t cond3 =PTHREAD_COND_INITIALIZER;
//限制访问机制
int flag=1;void* callback1(void* arg)
{while(1){/*************临界区**************///上锁pthread_mutex_lock(&mutex);if(flag != 1){//休眠 解锁pthread_cond_wait(&cond1,&mutex);}printf("A");flag=2;//唤醒pthread_cond_signal(&cond2);//解锁pthread_mutex_unlock(&mutex);/*************临界区**************/}pthread_exit(NULL);
}
void* callback2(void* arg)
{while(1){/*************临界区**************///上锁pthread_mutex_lock(&mutex);if(flag != 2){//休眠 解锁pthread_cond_wait(&cond2,&mutex);}printf("B");flag=3;//唤醒pthread_cond_signal(&cond3);//解锁pthread_mutex_unlock(&mutex);/*************临界区**************/}pthread_exit(NULL);}
void* callback3(void* arg)
{while(1){/*************临界区**************///上锁pthread_mutex_lock(&mutex);if(flag != 3){//休眠 解锁pthread_cond_wait(&cond3,&mutex);}printf("C\n");flag=1;//唤醒pthread_cond_signal(&cond1);//解锁pthread_mutex_unlock(&mutex);/*************临界区**************/}pthread_exit(NULL);}int main(int argc, const char *argv[])
{//练习1.创建三个线程id号为ABC,要求三个线程循环打印自己的ID号, 运行顺序为ABCAB.....pthread_t A,B,C;if(pthread_create(&A,NULL,callback1,NULL)!=0){fprintf(stderr,"pthread_create faild __%d__\n",__LINE__);return -1;}if(pthread_create(&B,NULL,callback2,NULL)!=0){fprintf(stderr,"pthread_create faild __%d__\n",__LINE__);return -1;}if(pthread_create(&C,NULL,callback3,NULL)!=0){fprintf(stderr,"pthread_create faild __%d__\n",__LINE__);                             return -1;}pthread_join(A,NULL);pthread_join(B,NULL);pthread_join(C,NULL);//销毁互斥锁pthread_mutex_destroy(&mutex);//销毁条件变量pthread_cond_destroy(&cond1);pthread_cond_destroy(&cond2);pthread_cond_destroy(&cond3);return 0;
}

运行结果:死循环输出ABC\n

ubuntu@ubuntu:04_pthread$ gcc t3.3pthread.c -pthread
ubuntu@ubuntu:04_pthread$ ./a.out 
ABC
ABC
ABC
ABC
ABC

http://www.hkea.cn/news/473568/

相关文章:

  • 伊犁网站建设评价怎样才能上百度
  • 房地产网站建设方案百度实名认证
  • 做外贸可以在哪些网站注册网络项目免费的资源网
  • 中国建设银行信用卡网站首页青岛关键词优化平台
  • 阿里云网站建设考试题目长沙网站推广服务公司
  • 甘肃建设项目审批权限网站俄罗斯搜索引擎yandex官网入口
  • 网站建设公司新员工培训ppt模板百度热门搜索排行榜
  • 仿魔客吧网站模板网址大全是ie浏览器吗
  • 网站产品后台界面怎么做湖南关键词排名推广
  • 网站数据每隔几秒切换怎么做的湖南百度seo排名点击软件
  • 网站制作先学什么百度新闻下载安装
  • 河南省网站建设哪家好免费观看行情软件网站进入
  • 粘合剂东莞网站建设体育热点新闻
  • 百度网站排名关键词整站优化培训网站建设
  • 网络平台代理seo外包 杭州
  • 东方头条网站源码免费推广软件工具
  • 北京网站建设公司分享网站改版注意事项流程优化四个方法
  • 案例学 网页设计与网站建设手机百度seo快速排名
  • 江门网站建设总部电话产品推广渠道有哪些
  • 网站建设全攻略站长之家ping检测
  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计
  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名
  • 做网站要有什么团队淘宝关键词排名查询工具
  • 开源门户网站源码宁波谷歌seo
  • wordpress+一页一屏seo关键技术有哪些