重构前最后一份代码(bug较多,请勿使用)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
//go:build windows
|
||||
|
||||
package main
|
||||
|
||||
func (pm *ProcessManager) Lock() error {
|
||||
pm.mu.Lock()
|
||||
defer pm.mu.Unlock()
|
||||
|
||||
if pm.locked {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Windows 上暂用内存锁模拟(进程间不互斥,仅同一进程内互斥)
|
||||
// 如需真正的进程间锁,后续可改用 Windows Named Mutex
|
||||
pm.locked = true
|
||||
return nil
|
||||
}
|
||||
|
||||
func (pm *ProcessManager) Unlock() error {
|
||||
pm.mu.Lock()
|
||||
defer pm.mu.Unlock()
|
||||
|
||||
if !pm.locked {
|
||||
return nil
|
||||
}
|
||||
pm.locked = false
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user