queue.go
func (q *Queue) Peek() (interface{}, bool) {
	q.key.RLock()
	defer q.key.RUnlock()
	if q.underlyer == nil {
		return nil, false
	}
	return q.underlyer.PeekFront()
}
func (q *Queue) Peek() (interface{}, bool) {
	q.key.RLock()
	defer q.key.RUnlock()
	if q.underlyer == nil {
		return nil, false
	}
	return q.underlyer.PeekFront()
}
// Peek returns the next item in the Queue without removing it.