正确地初始化 std::atomic_flag
根据标准文档的要求,std::atomic_flag
只有利用 ATOMIC_FLAG_INIT
初始化之后,才获得一个确定的初始状态。
现在假设我们要自己实现一个 spin-lock,那么只需要利用 std::atomic_flag
实现一个 spin-mutex:
根据标准文档的要求,std::atomic_flag
只有利用 ATOMIC_FLAG_INIT
初始化之后,才获得一个确定的初始状态。
现在假设我们要自己实现一个 spin-lock,那么只需要利用 std::atomic_flag
实现一个 spin-mutex:
有时候需要在 C++ 里用 enum (class)
表示 flags,进行基础的 bitwise 运算,而哪怕是支持自动到 underlying integer 转换的 traditional enum,也需要额外的 cast 才能实现,所以在需要的时候为 enum
添加位运算支持还是有一定市场的。
最近写 WinAntHttp 的时候需要用 Wireshark 捕捉并分析发往 mock server 的 http 请求。
然而因为 mock server 是直接跑在本机 localhost 上的,而在 Windows 上,发往 localhost 的网络包都不会经过网卡,所以 wireshark 基本无法捕捉。
众所周知,Google 喜欢拿 python 做各种工具链,比如构建系统;然而 G 家用的又是 python 2.x,并且目测在未来一段时间内都不会做升级,因此相关的工具链环境也被锁死在了 python 2.x。
某直播姬因为用的 chromium 的框架,部分资源文件的构建就依赖 python 2.x。