in reply to Message Queue library

Why does a queue need a lock? Isn't the entire idea that it's a flexible buffer where readers wait for something to read and writers maybe wait for space in which to write?