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

北京做招聘网站的公司百度推广充值必须5000吗

北京做招聘网站的公司,百度推广充值必须5000吗,四川省特种作业证查询,郑州做网站便宜背景 在项目实施过程中,有个机制需要做两个线程之间的同步。 具体需求如下: 首先,线程1需要把资源读取到缓存 其次,线程2才可以操作这块缓存 上述两个动作顺序交替重复。 思路 使用信号量解决思路,申请两个信号…

背景

在项目实施过程中,有个机制需要做两个线程之间的同步。

具体需求如下:

首先,线程1需要把资源读取到缓存

其次,线程2才可以操作这块缓存

上述两个动作顺序交替重复。

思路

使用信号量解决思路,申请两个信号量,具体流程如下所述:

申请两个信号量,其中信号量1初始化为无信号,信号量2初始化为有信号

线程1首先申请信号量2的信号,有信号后,线程1把资源读取到缓存后,才释放信号量1

线程2首先申请信号量1的信号,有信号后,线程2操作完这块缓存后,才释放信号量2

代码

具体代码如下:

头文件

#include <semaphore.h>

定义全局信号量

sem_t sem1;
sem_t sem2;

初始化信号量,这里信号量2申请为有信号状态

    ret = sem_init(&sem1, 0, 0);if (ret == -1) {printf("sem1_init failed \n");return -1;}ret = sem_init(&sem2, 0, 1);if (ret == -1) {printf("sem2_init failed \n");return -1;}

线程1首先申请信号量2的信号,有信号后,线程1把资源读取到缓存后,才释放信号量1

void* thread1(void *res)
{while (1) {sem_wait(&sem2);//开始写入保护的内存数据xxxxxxxxxx//结束写入保护的内存数据sem_post(&sem1);}
}

线程2首先申请信号量1的信号,有信号后,线程2操作完这块缓存后,才释放信号量2

void* thread2(void *res)
{while (1) {sem_wait(&sem1);//开始读出保护的内存数据xxxxxxxxxx//结束读出保护的内存数据sem_post(&sem2);}
}

上述基本上表述了,针对内存的保护,不知道说清楚了没有。表述应该还算明白

线程申请信号,不能一直等待,需要超时处理,我这超时设置时毫秒级别,时间比较长

具体代码如下,设置500ms超时等待

struct timespec ts;clock_gettime(CLOCK_REALTIME, &ts);ts.tv_nsec += 500*1000*1000;sem_timedwait(&sem,&ts);

信号量的一些基本概念

信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个进程独享。

由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的:

(1)P(sv):如果sv的值大于零,就给它减1;如果它的值为零,就挂起该进程的执行

(2)V(sv):如果有其他进程因等待sv而被挂起,就让它恢复运行,如果没有进程因等待sv而挂起,就给它加1.

在信号量进行PV操作时都为原子操作(因为它需要保护临界资源)

注:原子操作:单指令的操作称为原子的,单条指令的执行是不会被打断的

http://www.yayakq.cn/news/104952/

相关文章:

  • 365网站建设网站规划的主要任务是什么
  • 京东网站建设项目需求分析报告为什么资讯网站荣誉被收录
  • 饮食网站建设策划书哪个网站做外贸的
  • 政务网站的建设原则acaa网页设计师
  • 自己做网站 服务器网站模板 带手机端
  • 电子商务网站开发教程做网站要的软件
  • 东莞整站优化第一次跑业务怎么找客户
  • 国家企业官方网站查询系统广东省交通建设监理检测协会网站
  • 把网站做进微信公众号有哪些网站可以免费做外销
  • 萧山好的做网站的公司成都小型软件开发公司
  • 论文旅游网站建设设置wordpress文章标题高亮的代码
  • 响应式网站自助建设青岛网页设计招聘
  • 网站建设中面包屑导航的特点网站制作价格范围
  • 网站正在建设中英文做曖視頻网站
  • php网站开发技术训练心得网站建设中gif
  • 整站seo免费咨询服务好的网站开发
  • 网站空间在哪买英文seo 文章发布类网站
  • wordpress 同分类文章深圳市seo上词点击软件
  • 网站建设规划书中包含内容vi设计的目的和意义
  • 网站推广策略怎么写网站建设服务天软科技
  • 企业网站的建立网络虚拟社区时对于企业营销方案100例免费
  • 做国外网站要注意什么wordpress 用户等级
  • 外贸哪家做网站厦门建筑网
  • 服装网站建设的规模和类别2022一级造价师停考
  • 网络规划设计师下午题2023估分安卓优化大师老版本下载
  • 网站开发代理网站建设不包括哪个阶段
  • 官方网站优化方法腾讯建设网站首页
  • 网站投资设计优秀网站有哪些
  • 文字头像在线制作免费生成图片怎么做外贸网站优化
  • 做网站全国最大企业所得税优惠政策最新2023年100万以下