โปรแกรมหลายโปรแกรมใน C และ C+ สามารถอนุญาตให้โปรแกรมทํางานหลายอย่างพร้อมกันได้, ปรับปรุงประสิทธิภาพและตอบสนอง แต่การออกแบบระบบหลายระบบที่มีประสิทธิภาพสูง ต้องการความยึดเหนี่ยวกับหลักการเฉพาะที่ใช้ในการหลีกเลี่ยงปัญหาเช่น สภาพเชื้อชาติ, สภาวะการตายตัว และข้อมูลที่ไม่สอดคล้องกัน บทความนี้อธิบายหลักการการออกแบบที่สําคัญที่สนับสนุนโดยตัวอย่างโลกแห่งความเป็นจริง

1. ลดข้อมูลการใช้ร่วมกัน

การเพิ่มข้อมูลร่วมกันระหว่างเธรด จะเป็นการลดความเป็นไปได้ของการปรับเทียบข้อมูลให้ตรงกัน เมื่อเธรดทํางานบนข้อมูลอิสระ การล็อคตัวแบบกลไกจะลดลง ส่งผลให้มีประสิทธิภาพที่ดีขึ้น และง่ายขึ้น ตัวอย่างเช่น ในเซิร์ฟเวอร์ให้บริการเว็บ การจัดการการร้องขอหลาย ๆ อย่าง เธรดแต่ละโพรเซสของข้อมูลที่ร้องขอมา โดยไม่ต้องแบ่งสถานะ

2. ใช้ การ ปรับ ตั้ง ที่ เหมาะ สม

เมื่อจําเป็นที่ต้องใช้ข้อมูลร่วมกัน การปรับเทียบข้อมูลที่เหมาะสม เทคโนโลยีจะรวมข้อมูลแบบใบ้, สปีกเกอร์ และตัวแปรเงื่อนไข ตัวอย่างเช่น รุ่นผู้ผลิตจะใช้ตัวปรับเสียงและตัวแปรเงื่อนไข เพื่อประสานงานการรับข้อมูลร่วมกัน ป้องกันไม่ให้เกิดการขาดข้อมูล และทําให้ข้อมูลมีความสอดคล้องกัน

3. หลีก เลี่ยง มรณะ

เดดล็อคเกิดขึ้นเมื่อเธรดรอคอยทรัพยากรที่อยู่ด้วยกันอย่างไม่มีกําหนด เพื่อป้องกันการนี้ ให้ได้รับล็อคตามลําดับที่สอดคล้องกัน และลดระยะเวลาการล็อคได้ ตัวอย่างที่เป็นระบบฐานข้อมูลที่การค้าได้ล็อคหลายล็อค การตั้งค่าการล็อคที่เข้มงวด หลีก เลี่ยงการรอแบบวงกลม

4 ออกแบบเพื่อความจุ

โปรแกรมหลายแบบที่สามารถปรับให้มีประสิทธิภาพเมื่อเพิ่มเธรดเข้าอย่างมีประสิทธิภาพ ใช้สระด้ายเพื่อจัดการทรัพยากร และหลีกเลี่ยงการสร้างเธรดที่มากเกินไป ตัวอย่างเช่น โปรแกรมแม่ข่ายใช้ตัวช่วยในการจัดการการติดต่อแบบเธรด เพื่อจัดการการเชื่อมต่อที่เข้ามา โดยยังคงการทํางานภายใต้การโหลดสูง

5. ใช้ปฏิบัติการอะตอมเมื่อ approprilized

ปฏิบัติการอะตอม ให้การปรับปรุงค่าเธรดให้ใช้ตัวแปรร่วมกันโดยไม่ต้องล็อคโดยตรง ตัวอย่างเช่น การเพิ่มตัวนับค่าใช้ร่วมกัน โดยการใช้อะตอม swatch และ-dadd มั่นใจได้ว่า ตัวแปรนี้จะถูกต้อง โดยไม่ต้องล็อค