首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 15:18:32 +08:00
commit d6393266b0
193 changed files with 14287 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
// bulma/atomic_flag.go
package main
import (
"fmt"
"sync"
"sync/atomic"
"time"
)
func main() {
var ready atomic.Bool // 就绪标志(原子布尔值)
var wg sync.WaitGroup
// 消费者goroutine:等待标志位变为true后执行
wg.Add(1)
go func() {
defer wg.Done()
// 循环检测标志位,直到变为true(无锁,高效)
for !ready.Load() {
time.Sleep(10 * time.Millisecond)
}
fmt.Println("✅ 消费者检测到 ready=true,开始处理")
}()
// 生产者goroutine:模拟初始化操作,完成后设置标志位
time.Sleep(50 * time.Millisecond) // 模拟初始化耗时
ready.Store(true)
fmt.Println("🔧 生产者设置 ready=true")
wg.Wait()
fmt.Println("所有操作执行完成")
}