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

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
+45
View File
@@ -0,0 +1,45 @@
package main
import (
"fmt"
"runtime"
"sync"
"time"
)
func testSyncHandoff() {
runtime.GOMAXPROCS(1)
var wg sync.WaitGroup
var mu sync.Mutex
// 启动G1:持有锁并阻塞
wg.Add(1)
go func() {
defer wg.Done()
mu.Lock()
defer mu.Unlock()
fmt.Println("G1: 获取锁,开始阻塞(1s")
time.Sleep(1 * time.Second) // 同步阻塞
fmt.Println("G1: 释放锁,执行完成")
}()
// 启动G2:尝试获取锁,触发Hand Off
wg.Add(1)
go func() {
defer wg.Done()
fmt.Println("G2: 尝试获取锁...")
mu.Lock()
defer mu.Unlock()
fmt.Println("G2: 获取锁,执行完成")
}()
wg.Wait()
fmt.Println("同步阻塞Hand Off验证结束")
}
func main() {
runtime.GOMAXPROCS(1)
fmt.Printf("当前P的数量: %d\n", runtime.GOMAXPROCS(0))
// testSyscallHandoff() // 注释或取消注释切换测试
testSyncHandoff()
}