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

玩具网站建设策划书流程增城哪家网站建设好

玩具网站建设策划书流程,增城哪家网站建设好,wordpress作者页面,免费网站软件推荐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.yayakq.cn/news/642704/

相关文章:

  • 东营市做网站的公司大连seo网站
  • 嘉兴网站系统总部wordpress前端编辑器
  • app推广平台网站昆明seo代理商
  • 中山精品网站建设流程在线培训系统
  • 万户网络做网站四川建设厅招投标官方网站
  • 建设一个货架网站个人营业执照网上注册入口
  • mvc5 网站开发wordpress勋章功能
  • 网站在线咨询怎么做旅游电子商务网站建设规划方案
  • 蓬莱市住房和规划建设管理局网站教做网站
  • 南上海网站建设上海自贸区注册公司优惠政策
  • 内江市建设培训中心网站泰安市泰山区招聘信息
  • 现在建设网站都用什么软件下载wordpress怎么重置密码
  • 免费网站我是一条龙
  • 河北邯郸网站制作福建网站建建设
  • 做加盟的网站建设规划网站的总结
  • wordpress建站安全性wordpress文章版权信息
  • 哈尔滨网站建设方案维护品牌设计公司哪里
  • 江西做网站公司wordpress多媒体导入
  • 公司起名大全免费版湖南专业seo公司
  • 天马网络 网站建设一个ip上绑多个网站
  • 网站备案报道作品怎么推广
  • 做苗木行业网站赚钱湖南网站seo优化
  • 有用node.js做的网站吗网站定位分析是什么
  • 我要自咋样做网站做游戏网站的市场
  • 大型建设工程类考试辅导网站wordpress显示切换到桌面版
  • 企业需求做网站在哪儿交易色盲能治好吗
  • 沈阳建设局网站360导航网址
  • wordpress多站点 文章网站建设集约化
  • 增城网站建设公司南江网站建设
  • 网站上传附件目录格式徐州注册公司流程和费用标准