//go:build !windows package engine // Unix(Linux/Mac)文件锁实现,使用 syscall.Flock. import ( "os" "syscall" ) // tryFlock 尝试以非阻塞方式获取排他锁. func tryFlock(f *os.File) error { return syscall.Flock(int(f.Fd()), syscall.LOCK_EX|syscall.LOCK_NB) } // unlockFlock 释放文件锁. func unlockFlock(f *os.File) { _ = syscall.Flock(int(f.Fd()), syscall.LOCK_UN) }