Tek üretici / tek tüketici durumu için kilitsiz kuyruklar uygulanabilir ve genellikle yazılımınızı çok üreticili veya çok tüketici kuyruğu sayısını en aza indirecek şekilde tasarlayabilirsiniz.
Kilitsiz bir kuyruk şu şekilde oluşturulabilir: İletilecek öğelerin bir dizisini ve ayrıca iki tamsayı, bunları Head and Tail olarak adlandırın. Head, diziye bir sonraki öğenin ekleneceği bir dizindir. Kuyruk, bir sonraki öğenin kaldırılabileceği dizinin bir dizinidir. Üretici görevi, bir öğe eklemek için yer olup olmadığını belirlemek için H ve T'yi okur; öğeyi H dizinine yazar, ardından H'yi günceller. Tüketici görevleri, kullanılabilir veri olup olmadığını belirlemek için H ve T'yi okur, T dizinindeki verileri okur, ardından T'yi günceller. Temel olarak iki görevle erişilen bir halka arabelleği ve işlem sırası (ekleme, sonra H güncelleme; kaldırma, ardından T güncelleme) veri bozulmalarının olmamasını sağlar.
Birden fazla üretici ve tek bir tüketici veya tek bir üretici ve birden fazla tüketici ile ilgili bir durumunuz varsa, etkili bir şekilde bir tür kaynak sınırlamanız vardır ve bunun için senkronizasyon kullanmaktan başka bir şey yoktur, çünkü performans sınırlayıcı daha olasıdır kilitleme mekanizmasına sahip bir işletim sistemi yükünden ziyade yalnız üretici / tüketici olmak.
Ancak birden fazla üreticiniz VE tüketiciniz varsa, daha koordineli bir iletişim mekanizması elde edemeyeceğinizi görmek için (tasarım alanında) zaman harcamaya değer; böyle bir durumda, her şeyi tek bir kuyrukta serileştirmek, kuyruğun verimliliğini kesinlikle performansın merkezi belirleyicisi yapar.