Open ddb12138 opened 6 months ago
bucket.go中,添加任务时Add函数,它的解锁操作是在末尾 为什么不考虑在添加任务至timers双向链表后立马解锁呢?我的理解是bucket这个锁就是为了保护 timers是一个并发不安全的结构 @RussellLuo
func (b bucket) Add(t Timer) { b.mu.Lock()
e := b.timers.PushBack(t) // b.mu.Unlock() 为什么不在这个位置进行解锁? t.setBucket(b) t.element = e b.mu.Unlock()
}
bucket.go中,添加任务时Add函数,它的解锁操作是在末尾 为什么不考虑在添加任务至timers双向链表后立马解锁呢?我的理解是bucket这个锁就是为了保护 timers是一个并发不安全的结构 @RussellLuo
func (b bucket) Add(t Timer) { b.mu.Lock()
}