Levon's Blog

微信: L6241425

map的读写删除都不是原子操作,因此需要控制并发访问,而Go的原生map不支持并发读写;Go在1.9的版本中新增了sync.Map的数据结构,两个map实现分离。

  1. 不会引发扩容的操作(查,改)使用read map,可能引发扩容操作(新增)使用 dirty map。

  2. 读写 read 并不需要加锁,而读或写 dirty 则需要加锁。

  3. 适合读多 append 少的场景,其实是读写和追加分离。

阅读全文 »

1. channel

1.1 关闭有缓冲数据的 channel, 还能读取吗(可以)

只有当channel无数据,且channel被close了,才会返回ok=false。 只要有堆积数据,即使 close() 也不会返回关闭状态。

关闭后有数据也能从里面得到数据,除非消耗空了。

阅读全文 »

HashMap 有两种主流实现方式:开放寻址法和拉链法。Go 的 map 采用拉链法实现。

Go map 的核心结构包含:

  1. 一个 hmap 结构,维护 2^B 个桶
  2. 数据存储在桶数组中,每个桶最多存放 8 个 key/value 对
  3. 超出容量的数据会链接到溢出桶

基本数据结构:桶数组 + 桶内 key-value 数组 + 溢出桶链表

阅读全文 »

1. 目录

1.1 [/usr]/lib/systemd/system/

(软件包安装的单元)

The expectation is that /lib/systemd/system is a directory that should only contain systemd unit files which were put there by the package manager (YUM/DNF/RPM/APT/etc).

1.2 /etc/systemd/system/

(系统管理员安装的单元, 优先级更高)

Files in /etc/systemd/system are manually placed here by the operator of the system for ad-hoc software installations that are not in the form of a package. This would include tarball type software installations or home grown scripts.

阅读全文 »

1. 安装

  • 安装电池
  • 拧上三脚架

2. 平衡

调节平衡之前需要先认清三个轴:

  • 俯仰轴 相机的右侧的那个圆圈(转动改变角度)

  • 横滚轴 后方写着智云字体的那个圆圈(貌似不会转动,倾斜改变角度)

  • 航向轴 手柄上方的那个圆圈(转动改变角度)

2.1 调节平衡
  • 先调节俯仰轴水平, 前后移动快装板, 松手水平后拧紧快装板螺丝
  • 再调节俯仰轴垂直, 松手垂直后拧紧俯仰轴螺丝
  • 再调节横滚轴, 松手水平后拧紧横滚轴螺丝
  • 最后调节航向轴, 把三脚架怼着肚子,松手水平后拧紧航向轴螺丝
阅读全文 »
0%