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

dw做网站乱码郑州seo方案

dw做网站乱码,郑州seo方案,WordPress网站仿制,个人简历网页设计代码目录 一、相关概念回顾 1.信号量 2.多线程使用资源的两种情况 3.P操作和V操作 二、CP && 基于环形队列的生产者消费者模型 1.环形队列的介绍 ​编辑 2.基于环形队列的生产者消费者模型的默认规则(通过信号量实现规则的成立) 3.相关的结论…

目录

一、相关概念回顾

1.信号量

2.多线程使用资源的两种情况

3.P操作和V操作

二、CP && 基于环形队列的生产者消费者模型

1.环形队列的介绍

​编辑

2.基于环形队列的生产者消费者模型的默认规则(通过信号量实现规则的成立)

3.相关的结论

4.单生产单消费的生产者消费者模型的实现思路

三、相关接口介绍

1.int sem_init(sem_t *sem, int pshared, unsigned int value);

2.int sem_destroy(sem_t *sem);

3.int sem_wait(sem_t *sem);

4.int sem_post(sem_t *sem);


一、相关概念回顾

1.信号量

<1>作用:表明临界资源数量的多少

<2>本质

说法一:本质是一个计数器,是对特定资源的预定机制

说法二:信号量的本质也是临界资源

2.多线程使用资源的两种情况

<1>将目标资源整体使用【mutex 或 2元信号量】

<2>将目标资源按照不同的“块”,分批使用

3.P操作和V操作

<1>P操作本质是--,是原子的

<2>V操作本质是++,是原子的

二、CP && 基于环形队列的生产者消费者模型

1.环形队列的介绍

<1>环形队列为空时:head==tail

环形队列为满时:head==tail

<2>解决该冲突的方法

方法一:利用计数器count

方法二:空一个位置,让head==tail时为空,tail+1==head时为满

2.基于环形队列的生产者消费者模型的默认规则(通过信号量实现规则的成立)

<1>当为空时,只能让生产者先运行

<2>当为满时,只能让消费者先运行

<3>生产者不能把消费者套一个圈以上

<4>消费者不能超过生产者

3.相关的结论

<1>这要生产者和消费者不访问同一位置(即为空或为满时),他们两者就可同时运行

<2>为空:只能【互斥】生产者先【同步】运行

为满:只能【互斥】消费者先【同步】运行

<3>为空或为满时,生产者和消费者需要同步或互斥

4.单生产单消费的生产者消费者模型的实现思路

生产者Equeue()消费者Pop()
资源:空的位置有效数据
sem_blank=Nsem_data=0
int p_step=0int c_step=0
P(sem_blank);//sem_blank--(申请信号量)P(sem_data);//sem_data--(申请信号量)
在p_step处进行生产(生产)在c_step处进行消费(消费)
p_step++;(更新下标)c_step++;(更新下标)
p_step%=N;(维持环形特性)c_step%=N;(维持环形特性)
V(sem_data);//sem_data++V(sem_blank);//sem_blank++

注:若要进行加锁,应该在申请信号量与生产/消费间进行加锁,在维持环形队列特性的操作后进行解锁

三、相关接口介绍

1.int sem_init(sem_t *sem, int pshared, unsigned int value);

<1>头文件:<semaphore.h>

<2>功能:初始化信号量

<3>参数:

sem:指向要要初始化信号量的指针

pshared:指定信号量是否在进程或线程之间共享

value:信号量的初始值(可用资源的数量)

<4>返回值:成功返回0,失败返回-1

2.int sem_destroy(sem_t *sem);

<1>头文件:<semaphore.h>

<2>功能:clean up an unnamed semaphore initialized with sem_init

<3>参数:sem:指向要要初始化信号量的指针

<4>返回值:成功返回0,失败返回-1

3.int sem_wait(sem_t *sem);

<1>头文件:<semaphore.h>

<2>功能:POSIX 线程库中用于操作信号量的函数,用于对信号量进行 P 操作如果信号量的值大于零,sem_wait 会将其减一并立即返回;如果信号量的值为零,调用线程会阻塞,直到信号量的值变为正数。

<3>参数:sem:指向要要初始化信号量的指针

<4>返回值:成功返回0,失败返回-1

4.int sem_post(sem_t *sem);

<1>头文件:<semaphore.h>

<2>功能: POSIX 线程库中用于操作信号量的函数,用于对信号量进行 V 操作。它会增加信号量的值,如果有线程因等待该信号量而被阻塞,其中一个线程会被唤醒。

<3>参数:sem:指向要要初始化信号量的指针

<4>返回值:成功返回0,失败返回-1

http://www.dtcms.com/wzjs/88649.html

相关文章:

  • 本地集团网站建设百度竞价排名公司
  • 企业服务是做什么的seo外链工具有用吗
  • 中企动力邮箱登录端口百度移动端优化
  • 阜宁网站建设服务商百度最新收录方法
  • b站推广入口2023mmm无病毒杭州网站推广大全
  • 网站流量怎样挣钱百度网站收录提交
  • 成都网站建设潮州网站权重等级
  • seo网站推广电话百度高级搜索网址
  • 苏州前几天网站建设软文营销案例文章
  • 申请个人企业邮箱seo手机端优化
  • 指定网站长期建设 运营计划中国百强企业榜单
  • 网站滚动效果怎么做的最近三天的新闻大事摘抄
  • 现在那个网站做视频最赚钱爱站网关键词挖掘
  • 如何建网络营销网站最好的免费信息发布平台
  • 网站建设发展历程ppt网络运营课程培训班
  • 贵阳企业网站百度风云榜明星
  • 网站建设比较好的公司都有哪些如何成为app推广代理
  • 用jsp做的网站需要什么工具临沂网站seo
  • 做网站与做软件青岛做网站推广
  • 湖南网络公司关于我们window优化大师
  • 佛山市网站seo搜索引擎的原理是什么
  • 高端设计网站都有哪些网络营销成功案例分析其成功原因
  • wordpress最佳固定链接东莞网站优化公司
  • 在家做十字绣兼职网站什么软件能搜索关键词能快速找到
  • 订单网站怎么做企业网站模板html
  • 江苏省城乡建设网站google推广及广告优缺点
  • 运营网站是什么意思大的网站建设公司
  • 南京做网站建设有哪些semester
  • 快速网站建设服务营销软文100字
  • 网站建设的问题网页设计模板html代码