开发者社区> 问答> 正文

计算环形队列计算序号值:sequcnce % indexMask; 这里为什么是于运算

提问147.png

原提问者GitHub用户liuyao37511

展开
收起
山海行 2023-04-27 20:07:41 72 0
1 条回答
写回答
取消 提交回答
  • 是对 "当索引值(sequence)和初始值(indexMask)相同时的临界情况处理“,初始值设定为bufferSize - 1 以bufferSize默认16 * 1024 为例,由于indexMask 初始化为 bufferSize - 1,即为 16383,所以当sequence 为16383时,应该是使用的16383这个位置,而非其他值。(若使用‘%’,这个位置就变成了0)

    原回答者GitHub用户wingerx

    2023-04-28 14:36:27
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载