ภาพรวม
สำหรับโปรแกรมหลายเธรดผู้ผลิตและโมเดลผู้บริโภคเป็นรุ่นคลาสสิกมาก แม่นยำยิ่งขึ้นควรเรียกว่า "โมเดลผู้ผลิต-ผู้บริโภค" หลังจากออกจากคลังสินค้าผู้ผลิตและผู้บริโภคขาดพื้นที่เก็บข้อมูลที่ใช้ร่วมกันและไม่มีปัญหาที่ไม่ได้ทำงานร่วมกัน
ตัวอย่างที่เป็นแบบอย่าง
กำหนดฉาก คลังสินค้าอนุญาตให้จัดเก็บ 10 รายการเท่านั้น ในเวลาเดียวกันคุณต้องใส่ใจกับ 4 คะแนนต่อไปนี้:
1. ผู้ผลิตเพียงคนเดียวสามารถผลิตได้ในเวลาเดียวกัน
2. การบริโภคของผู้บริโภคเพียงครั้งเดียวสามารถใช้ได้ในเวลาเดียวกัน
3. เมื่อคลังสินค้าว่างเปล่าผู้บริโภคจะไม่สามารถบริโภคต่อไปได้ ผู้บริโภคจำเป็นต้องรีไซเคิลว่าสถานะคลังสินค้าปัจจุบันว่างเปล่าก่อนการบริโภคของผู้บริโภค
4. เมื่อคลังสินค้าเต็มรูปแบบผู้ผลิตไม่สามารถผลิตได้ต่อไป เพื่อดำเนินการ
รหัสตัวอย่างมีดังนี้:
การเข้าร่วมระดับสาธารณะ {โมฆะสาธารณะคงที่ (สตริง [] args) {คลังสินค้าคลังสินค้า = ใหม่คลังสินค้า () ผู้ผลิตผู้ผลิต = ผู้ผลิตรายใหม่ (คลังสินค้า); ; {ซิงโครไนซ์ (นี่) {ในขณะที่ (index == store_size) {ลอง {this.wait ();} catch (interruptedExcept ); ) {E.PrintStackTrace ();} สตริง proput = storeProduts [ดัชนี- 1]; (); ผลิตภัณฑ์ return;}} ผู้ผลิตคลาสใช้งาน {คลังสินค้าคลังสินค้า; สตริง = "ผลิตภัณฑ์"+i; }}}