请教添加任务时的解锁时机问题
Opened this issue · 0 comments
ddb12138 commented
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()
}