Any thread that adds to the queue is required to see if they need to start the transfer thread afterward, which is a requirement not even thinking of locking.  As long as threads do concurrent modifications to the queue are fine.