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

网站导航的重要性2023新闻热点事件

网站导航的重要性,2023新闻热点事件,郑州网站建设怎样,湖南省造价管理站官网效果如下图: 给大家解释一下上述效果:在左侧(顶格)的是生产者(Producer);在右侧(空格)的是消费者(Consumer)。生产者有1个,代号为“0”…

效果如下图:

给大家解释一下上述效果:在左侧(顶格)的是生产者(Producer);在右侧(空格)的是消费者(Consumer)。生产者有1个,代号为“0”;消费者有2个,代号分别为“0”和“1”。

生产者首先生产出一个产品,输出“is producing Product”。然后唤醒消费者来消费,输出“is waking Consumer”。

消费者生成时会报告自己的信息,比如“I am Consumer 0”代表它是0号消费者。如果有东西可以消费,它会输出“Consumer 代号 consume product success!!!!”代表消费成功。

程序实现的效果是:生产者不断生产“产品”,然后消费者“0”和“1”不断进行消费,如此循环往复。

代码非常简单,如下:

#include <stdlib.h>                                                      
#include <stdio.h>
#include <unistd.h>
#include <sys/mman.h>
#include <pthread.h>#define CONSUMER_NUM 2#define PRODUCER_NUM 1pthread_t pids[CONSUMER_NUM+PRODUCER_NUM];int ready = 0;
int running =1;pthread_mutex_t mutex;pthread_cond_t has_product;void* producer(void* arg){int no = (int)arg;while(running){pthread_mutex_lock(&mutex);ready++;printf("Producer %d is producing Product\n",no);fflush(stdout); pthread_cond_signal(&has_product);printf("Producer %d is waking Consumer\n",no);fflush(stdout); pthread_mutex_unlock(&mutex);sleep(1);}
return NULL;
}void* consumer(void* arg){int num = (int)arg;while(running){pthread_mutex_lock(&mutex); while(ready==0){printf("\tConsumer %d is waiting...\n",num);fflush(stdout); pthread_cond_wait(&has_product,&mutex);}ready--;printf("\tConsumer %d consume product success!!!!!\n",num);fflush(stdout); pthread_mutex_unlock(&mutex);sleep(3);}
return NULL;
}void HxSyscall(int num){                                          pthread_mutex_init(&mutex,NULL);pthread_cond_init(&has_product,NULL);printf("init success!\n");int i;int thread_ids[CONSUMER_NUM + PRODUCER_NUM]; for(i=0; i<PRODUCER_NUM; i++){thread_ids[i] = i;pthread_create(&pids[i], NULL, producer, (void*)i);}for(i=0; i<CONSUMER_NUM; i++){printf("\tI am Consumer %d \n",i);fflush(stdout); sleep(2);thread_ids[PRODUCER_NUM + i] = i;pthread_create(&pids[PRODUCER_NUM + i], NULL, consumer, (void*)i);}for(i=0; i<PRODUCER_NUM + CONSUMER_NUM; i++){pthread_join(pids[i], NULL);}pthread_mutex_destroy(&mutex);pthread_cond_destroy(&has_product);return;
}

大家只需要按照project1的方式,将上述代码放入home/openharmony/kernel/liteos_a/syscall下的hx_syscall.c文件夹下即可(这里为了方便基础较薄弱的同学操作,所以我们仍旧采用勖哥在pro1中的函数命名),接下来大家只需要按照pro1的方式进行编译烧录即可运行。

【如果觉得有帮助记得点赞+收藏​​​​​​⭐】

http://www.qdjiajiao.com/news/12364.html

相关文章:

  • 沧浪设计网站公司哪个平台可以接推广任务
  • 政府门户网站的设计与实现免费郑州网站开发顾问
  • 医药网站建设方案抖音seo
  • 电影网站的建设晨阳seo服务
  • wordpress 企业主题 免费seo关键词布局技巧
  • 腾讯云网站搭建教程seo知识总结
  • 河北建设网站证件查询搜索关键词排名优化技术
  • wordpress 文章图片自动添加青岛 google seo
  • 做网站业务员如何跟客户沟通网络推广与网络营销的区别
  • 专业做家具的网站网络网站
  • wordpress自带编辑器网络seo排名
  • 建设银行信用卡提额网站职业技能培训中心
  • 网站建设及推广枣强什么都不懂能去干运营吗
  • 政府网站 建设目标怎么进行推广
  • 用bmob做网站seo诊断分析工具
  • 做非洲外贸的网站网站建设是什么
  • 网站平台建设服务合同广告联盟看广告赚钱
  • 虚拟产品网站中国重大新闻
  • 网站开发需要学些什么?大数据是干什么的
  • 沈阳个人网站制作湖南seo推广软件
  • 佛山企业网站建设北京刚刚传来特大消息
  • 如何做网站好看互联网推广是什么意思
  • 遵义市网站建设小说网站排名人气
  • 网站300m空间企业邮箱怎么注册
  • 广州做网站哪间公司好宁波好的seo外包公司
  • 有那个网站可以做食品台账百度上免费创建网站
  • 网站备案后名称怎么改roseonly企业网站优化
  • 网站制作方案范文如何去除痘痘效果好
  • 个人网站模板 phpseo免费工具
  • 实时网站制作建立网站的步骤