คิวที่ไม่มีการล็อคสามารถนำไปใช้กับกรณีผู้ผลิตรายเดียว / ผู้บริโภครายเดียวและบ่อยครั้งที่คุณสามารถออกแบบซอฟต์แวร์ของคุณเพื่อลดจำนวนผู้ผลิตหลายรายหรือผู้บริโภคหลายราย
คิวที่ไม่มีล็อคสามารถสร้างได้ดังนี้: จัดสรรอาเรย์ขององค์ประกอบที่จะสื่อสารและจำนวนเต็มสองจำนวนเรียกพวกเขาว่า Head and Tail ส่วนหัวคือดัชนีในอาร์เรย์ซึ่งจะเพิ่มรายการถัดไป Tail เป็นดัชนีในอาร์เรย์ซึ่งมีรายการถัดไปที่สามารถลบได้ งานผู้สร้างอ่าน H และ T เพื่อพิจารณาว่ามีที่ว่างสำหรับเพิ่มรายการหรือไม่ เขียนรายการในที่ดัชนี H จากนั้นอัพเดต H. งานของผู้บริโภคอ่าน H และ T เพื่อตรวจสอบว่ามีข้อมูลที่มีอยู่อ่านข้อมูลจากดัชนี T หรือไม่จากนั้นอัปเดต T โดยทั่วไปแล้วมันเป็นบัฟเฟอร์วงแหวนที่เข้าถึงได้โดยสองงาน คำสั่งของการดำเนินการ (แทรกแล้วอัปเดต H ลบแล้วอัปเดต T) รับรองว่าข้อมูลจะไม่เกิดความเสียหาย
หากคุณมีสถานการณ์ที่มีผู้ผลิตหลายรายและผู้บริโภครายเดียวหรือผู้ผลิตรายเดียวและผู้บริโภคหลายรายคุณมีข้อ จำกัด ด้านทรัพยากรอย่างมีประสิทธิภาพและไม่มีอะไรอื่นนอกจากการใช้การซิงโครไนซ์เนื่องจากตัว จำกัด ประสิทธิภาพมีแนวโน้มที่จะ เป็นผู้ผลิต / ผู้บริโภคที่โดดเดี่ยวกว่าค่าใช้จ่าย OS ด้วยกลไกการล็อค
แต่ถ้าคุณมีผู้ผลิตและผู้บริโภคหลายคนมันคุ้มค่าที่จะใช้เวลา (ในพื้นที่การออกแบบ) เพื่อดูว่าคุณไม่สามารถใช้กลไกการสื่อสารที่ประสานงานกันมากขึ้นหรือไม่ ในกรณีเช่นนี้การเรียงลำดับทุกอย่างผ่านคิวเดียวจะทำให้ประสิทธิภาพของคิวเป็นตัวกำหนดศูนย์กลางของประสิทธิภาพ