skia ID产生器

#include "include/core/SkTypes.h"
class SkNextID {
public:
/**
* Shared between SkPixelRef's generationID and SkImage's uniqueID
*/
static uint32_t ImageID();
};
/////////////////////////////////////////////////////////////////
#include <atomic>
uint32_t SkNextID::ImageID() {
// We never set the low bit.... see SkPixelRef::genIDIsUnique().
static std::atomic<uint32_t> nextID{2};
uint32_t id;
do {
id = nextID.fetch_add(2, std::memory_order_relaxed);
} while (id == 0);
return id;
}

 

posted @   Bigben  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-02-23 ie编程 webbrowser hook activex控件
2017-02-23 log4j2 自定义配置文件,java载入
点击右上角即可分享
微信分享提示