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

工作室网站建设要多大内存百度搜索风云榜总榜

工作室网站建设要多大内存,百度搜索风云榜总榜,做网站 node php,苹果手机怎么做ppt下载网站吗1、概念介绍 在我们需要处理大量数据的时候,不能存储所有的数据,只能先处理先来的,然后将这个数据释放,再去处理下一个数据。 如果在一个线性的缓冲区中,那些已经被处理的数据的内存就会被浪费掉。因为后面的数据只能…

1、概念介绍

在我们需要处理大量数据的时候,不能存储所有的数据,只能先处理先来的,然后将这个数据释放,再去处理下一个数据。

如果在一个线性的缓冲区中,那些已经被处理的数据的内存就会被浪费掉。因为后面的数据只能往后面放,如过要将剩余的数据都往前移动一次,那么效率就会低下了。

我们可以使用环形缓冲区,将处理完成并且释放掉的内存再利用起来,这可以大大减轻我们的内存占用,提高我们的内存使用效率。

2、结合代码详细解释

(1)首先,定义一个128个int大小的数组,用于充当我们的环形缓冲区,

         定义r、w下标,分别为读写下标索引 

#define BUF_LEN 128
static int g_keys[BUF_LEN];
static int r, w;

(2)构造一个下标后移的宏函数,用于移动先前定义的r、w下标,

         % BUF_LEN,对最大容量取余可以实现“环形”的数据读写,当读或写下标进行到最末尾的时候能够通过取余最大容量来回归最初,操作前面释放的课用空间。

#define NEXT_POS(x) ((x+1) % BUF_LEN)

(3)当读下标和写下标相等的时候,表示当前缓冲区为空,就如下图所示。空的缓冲区可以进行写,但不能读,因为没数据可读。每当写入一个数据后,写下标w往后移动一下。

往后写了一个数据之后的偏移 ,移动到下一个要写的地方,这里用颜色代表有数据

static int is_key_buf_empty(void)
{return (r == w);
}static void put_key(int key)
{if (!is_key_buf_full()){g_keys[w] = key;w = NEXT_POS(w);}
}

(4)当写下标w的下一个下标等于读下标的时候,表示缓冲区满了,这时候需要将读下标r的数据处理掉(读掉、释放一个可写的空间厚),才可以进行写入。

 再往后写一格,如果不读的话,此时环形缓冲区就满了。

 

static int is_key_buf_full(void)
{return (r == NEXT_POS(w));
}
static int get_key(void)
{int key = 0;if (!is_key_buf_empty()){key = g_keys[r];r = NEXT_POS(r);}return key;
}

三、完整代码

#define BUF_LEN 128
static int g_keys[BUF_LEN];
static int r, w;#define NEXT_POS(x) ((x+1) % BUF_LEN)static int is_key_buf_empty(void)
{return (r == w);
}static int is_key_buf_full(void)
{return (r == NEXT_POS(w));
}static void put_key(int key)
{if (!is_key_buf_full()){g_keys[w] = key;w = NEXT_POS(w);}
}static int get_key(void)
{int key = 0;if (!is_key_buf_empty()){key = g_keys[r];r = NEXT_POS(r);}return key;
}

http://www.tj-hxxt.cn/news/105306.html

相关文章:

  • 网站开发简历的项目经验怎样在百度打广告
  • 网站建设技术员保密协议南宁seo全网营销
  • 做logo什么网站必应搜索引擎下载
  • 网站需求分析怎么做郑州seo招聘
  • 做网站备案要多久视频网站搭建
  • 怎么创网站外包网络推广公司怎么选
  • 怎么评价网站做的好坏宁波seo推广平台
  • 一键网页转app生成器苏州关键词seo排名
  • 我的网站百度怎么搜索不到了樱桃bt磁力天堂
  • js企业网站模板2024年最新一轮阳性症状
  • 诸城网站建设国家提供的免费网课平台
  • 政府网站建设 考察报告上海最近3天疫情情况
  • 新网站怎么运营软文范例500字
  • 做学校网站素材图片素材sem和seo是什么职业岗位
  • 十堰网站建设多少钱全国各城市疫情高峰感染高峰进度
  • 提供企业网站建设定制长沙网站seo源头厂家
  • 深圳网站开发antnw网站推广的方法有哪几种
  • 做自适应网站公司竞价账户托管的公司有哪些
  • 拍卖网站制作东莞seoseo关键词排名优化
  • 搬瓦工putty做网站什么是软文
  • 玉树营销网站建设seo信息优化
  • 有专门做网站维护的职业吗网站制作开发
  • 网站克隆镜像做关键字seo网页设计可以自学吗
  • wordpress多久被收录四川网络推广seo
  • 网站托管目的是什么建网站需要哪些步骤
  • 襄阳seo费用广州网站优化公司如何
  • 去马来西亚做博彩网站建站系统软件有哪些
  • 怎样做网站呢适合发表个人文章的平台
  • 有没有帮别人做网站seo是什么职业做什么的
  • 能自己做二次元人物的网站百度seo2022新算法更新