มันเป็นไปได้ที่จะใช้เช่นล็อคด้วยประเภทที่ไม่ซ้ำกัน?
ฉันไปตามลิงก์ที่ Robert Harvey จัดหาให้และฉันก็ทำการอ่านอย่างรวดเร็ว ฉันไม่สามารถพูดได้ว่าฉันเข้าใจทุกอย่างหรือว่าฉันมีความมั่นใจในระดับสูงว่าฉันเข้าใจในสิ่งที่ฉันคิดว่าจริง ๆแล้ว แต่สำหรับฉันแล้วดูเหมือนว่าจุดรวมของความเป็นเอกลักษณ์ภายนอกและการเปลี่ยนแปลงที่ไม่สามารถอ้างอิงได้
วิธีการใหม่ในการมัลติเธรดพยายามหลีกเลี่ยงการล็อกเนื่องจากโปรแกรมเมอร์ที่มีประสบการณ์สูงเท่านั้นที่สามารถเขียนโค้ดที่ใช้การล็อกได้และแม้แต่รหัสของพวกเขาก็มีแนวโน้มที่จะมีข้อบกพร่องสูง หากคุณเพิ่มความจริงที่ว่ารหัสล็อคนั้นไม่สามารถพิสูจน์ได้จริงมันควรจะเห็นได้ชัดว่ามันเป็นวิธีที่ไม่พึงประสงค์อย่างมากในการทำสิ่งต่าง ๆ และวิธีการแก้ปัญหาที่มีเป้าหมายเพื่อปลดปล่อยเราจากการล็อกนั้น
วิธีที่เราหลีกเลี่ยงการล็อคคือการส่งผ่านข้อความซึ่งกำหนดให้ข้อความต้องไม่เปลี่ยนรูป โดยประมาณ (ในภาพรวมก่อนหน้า) การเปลี่ยนแปลงไม่ได้อ้างอิงเป็นเทคนิคที่สามารถช่วยให้เรารับประกันความไม่สามารถเปลี่ยนแปลงได้โดยไม่ต้องสร้างประเภทที่ไม่เปลี่ยนรูปแบบและลักษณะภายนอกที่ไม่เหมือนใครเป็นเทคนิคที่สามารถช่วยให้เราผ่อนคลาย
สามารถใช้ประเภทที่ไม่ซ้ำกันเพื่อแชร์ข้อมูลที่ไม่แน่นอนในเธรดได้หรือไม่?
กระดาษไม่ได้ระบุอย่างชัดเจน แต่จากสิ่งที่ฉันเข้าใจกลุ่มวัตถุที่ไม่ซ้ำกันภายนอกนั้นมีความปลอดภัยเนื่องจากเธรด (อย่างใดอย่างไรได้อย่างไร ) รับประกันได้ว่ามีการอ้างอิงภายนอกเพียงหนึ่งเดียวในกลุ่มของวัตถุนั้นซึ่งหมายความว่า เธรดที่ได้รับการอ้างอิงดังกล่าวสามารถปฏิบัติต่อวัตถุที่อ้างอิงว่าไม่แน่นอนโดยไม่ต้องกังวลว่าเธรดอื่น ๆ อาจกลายพันธุ์ได้เช่นกันเพราะไม่มีเธรดอื่นใดที่สามารถมีการอ้างอิงอื่นได้ ฉันอยากรู้อยากเห็นว่าโครงสร้างทางทฤษฎีสามารถนำไปใช้และบังคับใช้ได้อย่างไร
เป็นไปได้หรือไม่ที่จะใช้ชนิดที่ไม่ซ้ำกันเพื่อสร้างการซิงโครไนซ์ดั้งเดิม (เช่น mutexes) หรือจำเป็นต้องส่งข้อความ
อีกครั้งจากสิ่งที่ฉันเข้าใจประเภทที่ไม่ซ้ำกันจากภายนอกและความไม่เปลี่ยนรูปแบบการอ้างอิงหมายถึงการแสดงการล็อก, การปิดท้าย, และสิ่งที่ไม่จำเป็นเช่นนั้น การส่งข้อความดูเหมือนจะเป็นวิธีที่จะไปและก็ดี