func (q *Queue) IsEmpty() bool {
	q.key.RLock()
	defer q.key.RUnlock()
	return q.underlyer == nil || q.underlyer.IsEmpty()
}
func (q *Queue) IsEmpty() bool {
	q.key.RLock()
	defer q.key.RUnlock()
	return q.underlyer == nil || q.underlyer.IsEmpty()
}
func ( q * Queue ) IsEmpty ( ) bool { q . key . RLock ( ) defer q . key . RUnlock ( ) return q . underlyer == nil || q . underlyer . IsEmpty ( ) }
// IsEmpty tests the Queue to determine if it is populate or not.
IsEmpty tests the Queue to determine if it is populate or not .