Go 共 5 篇文章

Go 原子操作:sync/atomic 包的使用
2026-04-04 00:40:49
Go 原子操作:sync/atomic 包的使用 在并发编程中,多个 goroutine 同时读写同一个变量时,如果不加保护,会导致数据竞争(data race),产生不可预测的结果。Go 提供了 sync/atomic 包,用于实现对基本类型(如整数、指针)的无锁原子操作。这些操作由 CPU 指令
Go 并发编程 原子操作
2 0
Go 映射:sync.Map 与并发安全
2026-04-03 18:50:18
Go 映射:sync.Map 与并发安全 Go 语言中的内置 map 类型在多个 goroutine 同时读写时会发生数据竞争(data race),导致程序崩溃或结果不可预测。为了解决这个问题,Go 标准库提供了 sync.Map —— 一个专为并发场景设计的线程安全映射类型。本文将手把手教你如何
Go 并发安全 sync.Map
2 0
Go 并发编程:goroutine 与 channel
2026-04-03 18:18:18
Go 并发编程:goroutine 与 channel Go 语言的并发模型基于两个核心概念:goroutine 和 channel。goroutine 是轻量级线程,由 Go 运行时自动管理;channel 是 goroutine 之间通信的管道,用于安全地传递数据。掌握这两者,就能高效编写并发程
Go 并发编程 goroutine
2 0
Go 映射:map 的遍历与删除操作
2026-04-02 15:42:59
Go 映射:map 的遍历与删除操作 Go 语言中的 map 是一种内置的关联数据结构,用于存储键值对。它在实际开发中被广泛使用,但其遍历和删除操作存在一些容易忽略的细节。掌握这些细节,能避免运行时错误和逻辑漏洞。 遍历 map:顺序不确定但安全 使用 for range 循环遍历 map。这是 G
Go map 遍历
13 0
Go 条件变量:sync.Cond 与等待通知
2026-04-02 10:26:18
Go 条件变量:sync.Cond 与等待通知 Go 语言的 sync 包提供了多种同步原语,其中 sync.Cond 是一个用于协调 goroutine 之间“等待通知”行为的条件变量。它常用于解决多个 goroutine 需要等待某个共享状态发生变化后再继续执行的问题。 何时使用 sync.Co
Go sync.Cond 条件变量
7 0