源码阅读笔记--counter

counter

计数器。 用来了解事物发生的频率。个人理解是给开发分析使用,实际运行没什么用处。
scope 包含一组counter
在使用 counter之前必须先创建scope

image.png

其中ph_counter_scope_define()创建一个iosched的scope,这里面最多可以存16个counter。叫做slot

scope互相之间可以有父子继承关系。NULL表示不继承

block

这个东西是每个线程本地保存的,各个线程独立操作自己的block,不用加锁。
要创建block的场景只有两个:
当你在同一个线程内需要频繁进行计数器更新的时候
当你在一个线程内对多个计数器进行更新,并期望这个操作尽可能快的时候。
这个时候我们会创建一个“block”,然后利用它进行计数器更新。
计数器的实现方式是,单个线程可以不加争用地操纵它们的值(没有锁定!),但允许读者获得相关计数器集的一致视图。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,832评论 1 32
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,173评论 19 139
  • Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...
    第六象限阅读 2,287评论 0 9
  • 如果,一个女的童颜E罩杯,另一个女的御姐白富美,那么问题来了。 这两个女的,跟你有半毛钱关系呢? 作为穷挫屌的我们...
    瞳梦世界阅读 622评论 0 0
  • 总有一个人,是你奋不顾身的向往,无法忘怀的温暖。一曲笙歌,只为一人清唱;一世欢颜,只为一人绽放!
    风飞洋阅读 250评论 0 0

友情链接更多精彩内容