(workFn func(T))
| 13 | } |
| 14 | |
| 15 | func NewWorkQueue[T any](workFn func(T)) *WorkQueue[T] { |
| 16 | wq := &WorkQueue[T]{ |
| 17 | workFn: workFn, |
| 18 | } |
| 19 | wq.cond = sync.NewCond(&wq.lock) |
| 20 | return wq |
| 21 | } |
| 22 | |
| 23 | func (wq *WorkQueue[T]) Enqueue(item T) bool { |
| 24 | wq.lock.Lock() |