เผยแพร่: วัตถุคือการเปิดใช้งานที่จะอ้างอิงโดยรหัสนอกขอบเขตปัจจุบัน:
แบบฟอร์มทั่วไป: จัดเก็บข้อมูลอ้างอิงไปยังวัตถุไปยังโดเมนสาธารณะ การอ้างอิงกลับในวิธีการที่ไม่ได้อยู่ในเอกชน การเผยแพร่อินสแตนซ์คลาสภายในรวมถึงการอ้างอิง
Escape: เผยแพร่วัตถุเมื่อยังไม่พร้อม
อย่าปล่อยให้การอ้างอิงนี้หลบหนีจากตัวสร้าง ตัวอย่างเช่นเริ่มเธรดในตัวสร้างและเธรดจะมีการอ้างอิงไปยังวัตถุ
คอนเทนเนอร์ที่ซิงโครไนซ์: ดำเนินการเข้าถึงการเดินทางไปยังทุกสถานะของภาชนะบรรจุ, เวกเตอร์, hashtable, cllections.synchronizedmap |
คอนเทนเนอร์ที่เกิดขึ้นพร้อมกัน: พร้อมกัน
แสดงรายการข้อดีของคุณสมบัติการเข้าถึงแบบสุ่ม
การปิดกั้นเพิ่มการดำเนินการตั้งค่าที่บล็อกได้
ConcurrentHashMap: ล็อคแยกต่างหากนำปริมาณงานสูงสำหรับการเข้าถึงพร้อมกันในขณะที่สูญเสียประสิทธิภาพการเข้าถึงของเธรดเดียว ส่งคืนตัววนซ้ำที่ไม่สอดคล้องกัน
ความมั่นคงที่อ่อนแอของตัววนซ้ำจะตรวจจับการเปลี่ยนแปลงในคอนเทนเนอร์หลังจากสร้างตัววนซ้ำ
ขนาดคอนเทนเนอร์พร้อมกัน (), isempty () อ่อนแอลงและส่งคืนผลลัพธ์โดยประมาณ
CopyOnWriteArrayList: คัดลอกทุกครั้งที่มีการแก้ไขคอนเทนเนอร์และข้อกำหนดซ้ำจะมากกว่าข้อกำหนดการปรับเปลี่ยน
โมเดลผู้ผลิต-ผู้บริโภคโดยใช้คิวการปิดกั้นที่มีขอบเขตเพื่อแยกแยะผู้ผลิตและรหัสของผู้บริโภค
เฟรมเวิร์กการดำเนินงานของผู้ดำเนินการใช้โมเดลผู้ผลิตและผู้บริโภค
Synchronousqueue: วางรอให้ผู้บริโภคใช้งานได้รอให้ผู้ผลิตพร้อมใช้งานเหมาะสำหรับสถานการณ์ที่ผู้บริโภคเพียงพอ
คิวสองปลายเชื่อมโยงกับโหมดการขโมยงาน มันแตกต่างจากความจริงที่ว่าผู้บริโภคทุกคนแบ่งปันคิวงานในโหมดผู้ผลิต-ผู้บริโภค ผู้บริโภคแต่ละคนในโหมดการขโมยงานมีคิวสองปลายของเขาเอง หากผู้บริโภคทำงานทั้งหมดให้เสร็จเขาสามารถขโมยงานได้ในตอนท้ายของคิวผู้บริโภคอื่น ๆ
โหมดการขโมยงานเหมาะสำหรับเมื่อทำงานไปยังหน่วยงานอาจมีการระบุงานมากขึ้นเช่นไฟล์ข้าม
เมื่อวิธีการสามารถโยน InterruptedException ได้หมายความว่ามันเป็นวิธีที่บล็อกได้ โยนหรือจับ interruptedexception
ซิงโครไนซ์: ซิงโครไนซ์ --- semaphore, สิ่งกีดขวาง, สลัก, ห่อหุ้มสถานะ, กำหนดพฤติกรรมของเธรดในสถานะนี้ (ผ่านหรือบล็อก) ให้วิธีการจัดการสถานะและรออย่างมีประสิทธิภาพสำหรับซิงโครไนซ์เพื่อเข้าสู่สถานะที่ต้องการ
Latch Lock: ล่าช้าความคืบหน้าของเธรดจนกว่าเธรดจะถึงสถานะสิ้นสุดเช่นสวิตช์ครั้งเดียว สามารถใช้เพื่อให้แน่ใจว่ากิจกรรมเฉพาะจะไม่เกิดขึ้นจนกว่ากิจกรรมอื่น ๆ จะเสร็จสมบูรณ์
ตัวอย่างเช่น:
FutureTask สามารถใช้เป็นล็อคการคำนวณผลลัพธ์แบบพกพาแบบนามธรรมและนำไปใช้ผ่าน callable Future.gat ขึ้นอยู่กับสถานะการดำเนินการของงาน หากงานเสร็จสมบูรณ์ผลลัพธ์จะถูกส่งกลับ มิฉะนั้นจะรอ
เฟรมเวิร์กผู้บริหารใช้ FutureTask เพื่อให้งานแบบอะซิงโครนัสเสร็จสมบูรณ์
Semapher Semapher: ใช้เพื่อควบคุมจำนวนกิจกรรมที่สามารถเข้าถึงทรัพยากรที่เฉพาะเจาะจงพร้อมกันหรือดำเนินการในเวลาเดียวกันพูลทรัพยากรขอบเขตคอนเทนเนอร์
ระดับสิ่งกีดขวาง: คล้ายกับการล็อคเธรดทั้งหมดจะต้องไปถึงระดับในเวลาเดียวกันก่อนที่พวกเขาจะสามารถดำเนินการต่อได้ การล็อครอเวลาและระดับรอสำหรับเธรดอื่น ๆ และนำกลับมาใช้ซ้ำ ผ่านระดับการรอคอยจะส่งคืนหมายเลขดัชนีมาถึงที่ไม่ซ้ำกันสำหรับแต่ละเธรดซึ่งสามารถใช้ในการเลือกผู้นำและดำเนินงานพิเศษบางอย่างในการทำซ้ำครั้งต่อไป
Exchanger เป็นรูปแบบของระดับ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะช่วยในการศึกษาหรือทำงานของทุกคน ฉันหวังว่าจะสนับสนุน Wulin.com เพิ่มเติม!