美文网首页
源码阅读笔记--counter

源码阅读笔记--counter

作者: sxr008 | 来源:发表于2018-09-14 11:44 被阅读0次

counter

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

image.png

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

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

block

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

相关文章

网友评论

      本文标题:源码阅读笔记--counter

      本文链接:https://www.haomeiwen.com/subject/xgocgftx.html