C++ 原子操作使用及源码剖析

thbcm阅读(8)

输出结果:Counter = 105516 每次不一样

原因分析:

Counter++ 看似是 “一步操作”,实际拆解为 3 个步骤:

1.读取Counter的当前值到寄存器;

2.寄存器值 + 1;

3.把新值写回Counter。

多线程执行时,可能出现 “线程 A 读值后,线程 B 抢先修改并写回,线程 A 再写回旧值 + 1” 的情况,导致计数丢失。

ROS2概念之DDS

thbcm阅读(8)

DDS的核心是通信,能够实现通信的模型和软件框架非常多,这里我们列出常用的四种模型。

Oracle等待事件:性能诊断与优化的核心指南

thbcm阅读(8)

等待事件的数量随Oracle版本迭代持续扩充:从Oracle 7.0.12的100余个,到Oracle 11gR1已接近1000个。所有等待事件均可通过
V$EVENT_NAME视图查询,该视图记录了事件名称、参数定义、分类ID等核心信息,是研究等待事件的起点。

深入理解Linux IPIP隧道:原理、配置与实战

thbcm阅读(12)

IPIP隧道是Linux内核
原生支持的一种三层隧道协议,全称为IPv4 in IPv4。其核心原理是在原始IPv4报文的基础上再封装一个IPv4报文头,从而实现报文在不同网络间的透明传输。

Linux内核支持的五种主要L3隧道协议包括:

Flex布局,绝对定位,层叠布局Stack的详细讲解

thbcm阅读(26)

direction:FlexDirection.Row 主轴水平向右的

direction:FlexDirection.Column 主轴垂直向下的

direction:FlexDirection.RowReverse 主轴水平向左,与Row

direction:FlexDirection.ColumnReverse 垂直从下到上,与Column 相反

联系我们