สำหรับแอปพลิเคชันแบบเธรดเดียวฉันต้องการใช้คลาสไดอะแกรมเพื่อดูภาพรวมของสถาปัตยกรรมของแอปพลิเคชันนั้น ไดอะแกรมชนิดนี้ไม่ได้มีประโยชน์มากนักเมื่อพยายามทำความเข้าใจกับแอปพลิเคชั่นที่มีหลายเธรด / พร้อมกันอย่างหนักเช่นเนื่องจากอินสแตนซ์ต่าง ๆ ของคลาส "สด" บนเธรดที่แตกต่างกัน (หมายถึงการเข้าถึงอินสแตนซ์ ด้ายมันอาศัยอยู่) ดังนั้นความสัมพันธ์ระหว่างคลาสไม่จำเป็นต้องหมายความว่าฉันสามารถเรียกใช้เมธอดบนวัตถุเหล่านั้นได้ แต่ฉันต้องทำการเรียกใช้บนเธรดของวัตถุเป้าหมายแทน
วรรณกรรมส่วนใหญ่ที่ฉันขุดขึ้นมาในหัวข้อต่างๆเช่นการออกแบบพร้อมกันกระจายและแอปพลิเคชันแบบเรียลไทม์กับ UMLโดย Hassan Gomaa มีความคิดที่ดีเช่นการวาดขอบเขตของเธรดลงในไดอะแกรมวัตถุ แต่โดยรวมแล้วดูเหมือนว่า มีประโยชน์จริงๆ
ฉันไม่ต้องการใช้ไดอะแกรมเหล่านี้เป็นมุมมองระดับสูงของโดเมนปัญหา แต่เป็นการอธิบายรายละเอียดของคลาส / วัตถุการโต้ตอบและข้อ จำกัด เนื่องจากขอบเขตของเธรดที่กล่าวถึงข้างต้น
ฉันอยากรู้ว่า:
- ไดอะแกรมชนิดใดที่คุณพบว่ามีประโยชน์มากที่สุดในการทำความเข้าใจแอปพลิเคชันแบบมัลติเธรด
- มีส่วนขยายใด ๆ กับ UML แบบคลาสสิกที่คำนึงถึงลักษณะเฉพาะของแอพพลิเคชั่นแบบมัลติเธรดเช่นผ่านคำอธิบายประกอบที่แสดงให้เห็นว่า
- วัตถุบางอย่างอาจอาศัยอยู่ในเธรดที่แน่นอนในขณะที่วัตถุอื่นไม่มีความสัมพันธ์ของเธรด
- บางฟิลด์ของวัตถุอาจถูกอ่านจากเธรดใดก็ได้ แต่เขียนไปจากอันเดียวเท่านั้น
- วิธีการบางอย่างจะซิงโครนัสและส่งคืนผลลัพธ์ในขณะที่วิธีอื่น ๆ แบบอะซิงโครนัสที่รับคำขอเข้าคิวและส่งคืนผลลัพธ์เช่นผ่านการติดต่อกลับบนเธรดอื่น