Assuming you&#x27;ve got a buffered channel with non-blocking send and receive calls, I seriously doubt that the three lines protected by a mutex are the bottleneck for scaling your service. It&#x27;s basically exchanging one set of atomic ops for another one.<p>I&#x27;m not saying that you couldn&#x27;t optimize if you have a very specific need, but it&#x27;s disingenuous to pretend that the lack of a &quot;lock-free&quot; queue is somehow a fatal flaw or preventing you from scaling go programs.