- 论坛徽章:
- 36
|
发个自己常用的库: https://github.com/naivefox/foxmutex
sample:
- package main
- import (
- "fmt"
- fox "github.com/naivefox/foxmutex"
- "time"
- )
- func main() {
- fox.SetDebug(true, time.Second)
- mtx := fox.Mutex{}
- fmt.Println(111)
- mtx.Lock()
- fmt.Println(222)
- go func() {
- fmt.Println(333)
- mtx.Lock()
- fmt.Println(444)
- }()
- time.Sleep(time.Hour)
- }
复制代码- package main
- import (
- "fmt"
- fox "github.com/naivefox/foxmutex"
- "time"
- )
- func main() {
- fox.SetDebug(true, time.Second)
- mtx := fox.RWMutex{}
- fmt.Println(111)
- mtx.Lock()
- fmt.Println(222)
- go func() {
- fmt.Println(333)
- mtx.RLock()
- fmt.Println(444)
- }()
- time.Sleep(time.Hour)
- }
复制代码
|
|