指令缓存队列

简介: 指令缓存队列
//*******************指令缓存队列*******************
struct{
  uint32_t head;
  uint32_t end;
  uint16_t KeyBuf[10];
}KeyCQueue;
void KeyCQueue_init(void)
{
  KeyCQueue.head = 0;
  KeyCQueue.end = 0;
}
uint16_t KeyCQueue_GetQueue(void)//出队列
{
  uint16_t value;
  if(KeyCQueue.head == KeyCQueue.end) return 0;
  value = KeyCQueue.KeyBuf[KeyCQueue.head];
  KeyCQueue.head = (KeyCQueue.head + 1)%10;
  KeyCQueue_Clear();
  return value;
}
void KeyCQueue_EnQueue(uint16_t value)//入队列
{
  if(KeyCQueue.head == (KeyCQueue.end + 1)%10) return ;
  if(xxx==1)//如果xxx,指令不缓存
  {
    KeyCQueue.KeyBuf[KeyCQueue.end] = value;
    KeyCQueue.end = (KeyCQueue.end + 1)%10;
  }
}
void KeyCQueue_Clear(void)
{
  KeyCQueue.head = 0;
  KeyCQueue.end = 0;  
}
目录
打赏
0
0
0
0
4
分享
相关文章
JVM知识体系学习三:class文件初始化过程、硬件层数据一致性(硬件层)、缓存行、指令乱序执行问题、如何保证不乱序(volatile等)
这篇文章详细介绍了JVM中类文件的初始化过程、硬件层面的数据一致性问题、缓存行和伪共享、指令乱序执行问题,以及如何通过`volatile`关键字和`synchronized`关键字来保证数据的有序性和可见性。
116 3
应对数据库不断膨胀的数据:缓存和队列中间件
【6月更文挑战第5天】该文探讨了优化数据库使用以提升应用系统性能的策略。文中建议利用Redis缓存和MQ消息队列作为辅助工具,以进一步优化性能和减少资源消耗。
416 2
应对数据库不断膨胀的数据:缓存和队列中间件
【Azure Redis 缓存】Azure Reids是否可以开启慢日志(slowlog)和执行config指令
【Azure Redis 缓存】Azure Reids是否可以开启慢日志(slowlog)和执行config指令
【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
【Azure Redis 缓存】Azure Redis 服务不支持指令CONFIG
Nosql缓存安装配置相关指令
【5月更文挑战第8天】本文档介绍了Redis的基本操作和配置,包括启动服务、修改配置、查看信息及性能测试。文档结尾提到将持续性和集群配置作为后续讨论内容。
81 4
高并发缓存队列防止溢出解决方案
高并发缓存队列防止溢出解决方案
374 0
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
117 0
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
Redis连环炮:内存淘汰?事务?分布式锁?分步式限流?异步队列?延时队列?高可用?如何部署?哈希槽?数据库和缓存的数据一致性?
Redis连环炮:内存淘汰?事务?分布式锁?分步式限流?异步队列?延时队列?高可用?如何部署?哈希槽?数据库和缓存的数据一致性?
273 0
Redis连环炮:内存淘汰?事务?分布式锁?分步式限流?异步队列?延时队列?高可用?如何部署?哈希槽?数据库和缓存的数据一致性?
关于缓存一致性协议、MESI、StoreBuffer、InvalidateQueue、内存屏障、Lock指令和JMM的那点事
关于缓存一致性协议、MESI、StoreBuffer、InvalidateQueue、内存屏障、Lock指令和JMM的那点事
431 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等