ฉันเชื่อว่าคำตอบนี้ถูกต้องมากกว่าคำตอบที่มีอยู่และการแก้ไขจะมีการเปลี่ยนแปลงสาระสำคัญของพวกเขา ฉันพยายามเชื่อมโยงไปยังแหล่งข้อมูลต่าง ๆ หรือหน้าวิกิพีเดียเพื่อให้ผู้อื่นสามารถยืนยันความถูกต้องได้
เห็นพ้องด้วย:ทรัพย์สินของระบบซึ่งจะช่วยให้หน่วยงานของโปรแกรมอัลกอริทึมหรือปัญหาที่จะดำเนินการออกจากคำสั่งซื้อหรือในการสั่งซื้อบางส่วนโดยไม่ต้องมีผลกระทบต่อผลสุดท้าย1 2
ตัวอย่างง่าย ๆ ของสิ่งนี้คือการเพิ่มเติมอย่างต่อเนื่อง:
0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
เนื่องจากทรัพย์สินที่สับเปลี่ยนของการเพิ่มคำสั่งเหล่านี้สามารถจัดเรียงใหม่โดยไม่ส่งผลกระทบต่อความถูกต้อง; การจัดเรียงต่อไปนี้จะส่งผลให้คำตอบเดียวกัน:
(1 + 9) + (2 + 8) + (3 + 7) + (4 + 6) + 5 + 0 = 45
ที่นี่ฉันได้จัดกลุ่มตัวเลขเป็นคู่ที่จะรวมเป็น 10 ทำให้ฉันง่ายขึ้นที่จะได้คำตอบที่ถูกต้องในหัวของฉัน
การคำนวณแบบขนาน:ประเภทของการคำนวณซึ่งในการคำนวณจำนวนมากหรือการดำเนินการของกระบวนการที่จะดำเนินการพร้อมกัน3 4 ดังนั้นการคำนวณแบบขนานจึงยกระดับคุณสมบัติของการเกิดพร้อมกันเพื่อดำเนินการหลาย ๆ หน่วยของโปรแกรมอัลกอริทึมหรือปัญหาพร้อมกัน
ดำเนินการต่อด้วยตัวอย่างของการเพิ่มที่ต่อเนื่องกันเราสามารถดำเนินการส่วนต่าง ๆ ของผลรวมในแบบคู่ขนาน:
Execution unit 1: 0 + 1 + 2 + 3 + 4 = 10
Execution unit 2: 5 + 6 + 7 + 8 + 9 = 35
10 + 35 = 45
จากนั้นในตอนท้ายที่เราสรุปผลที่ได้จากพนักงานแต่ละคนจะได้รับ
อีกครั้งการขนานนี้เป็นไปได้เพียงเพราะการต่อเนื่องกันมีสมบัติของการเกิดพร้อมกัน
การเกิดขึ้นพร้อมกันสามารถยกระดับได้มากกว่าเพียงแค่การขนาน พิจารณาpre-emptionบนระบบ single-core: ในช่วงระยะเวลาหนึ่งระบบอาจสร้างความคืบหน้าให้กับกระบวนการที่กำลังรันหลายกระบวนการโดยที่ยังไม่เสร็จสิ้น อันที่จริงตัวอย่างของคุณของ Iync แบบอะซิงโครนัสเป็นตัวอย่างทั่วไปของการเกิดพร้อมกันที่ไม่ต้องใช้การขนาน
ความสับสน
ด้านบนค่อนข้างตรงไปตรงมา ฉันสงสัยว่าผู้คนสับสนเพราะคำจำกัดความของพจนานุกรมไม่ตรงกับสิ่งที่อธิบายไว้ข้างต้น:
- พร้อมกัน: เกิดขึ้นหรือที่มีอยู่พร้อมกันหรือเคียงข้าง5
- เห็นพ้อง: ความเป็นจริงของสองคนหรือมากกว่าเหตุการณ์หรือสถานการณ์ที่เกิดขึ้นหรือที่มีอยู่ในเวลาเดียวกันจากการค้นหาใน google: "define: เห็นพ้องด้วย"
พจนานุกรมกำหนด "การเกิดขึ้นพร้อมกัน" ในความเป็นจริงของการเกิดขึ้นในขณะที่คำจำกัดความในการใช้คอมพิวเตอร์พื้นถิ่นเป็นคุณสมบัติแฝงของโปรแกรมทรัพย์สินหรือระบบ แม้ว่าสิ่งเหล่านี้เกี่ยวข้องจะไม่เหมือนกัน
คำแนะนำส่วนบุคคล
ฉันขอแนะนำให้ใช้คำว่า "ขนาน" เมื่อการดำเนินการพร้อมกันนั้นมั่นใจหรือคาดว่าจะเกิดขึ้นและให้ใช้คำว่า "พร้อมกัน" เมื่อไม่แน่ใจหรือไม่เกี่ยวข้องว่าจะดำเนินการพร้อมกันหรือไม่
ดังนั้นฉันจะอธิบายการจำลองเครื่องยนต์เจ็ทบนหลายแกนในแนวขนาน
ฉันจะอธิบาย Makefiles เป็นตัวอย่างของการเกิดพร้อมกัน Makefiles ระบุการพึ่งพาของแต่ละเป้าหมาย เมื่อเป้าหมายขึ้นอยู่กับเป้าหมายอื่น ๆ สิ่งนี้จะสร้างการสั่งซื้อบางส่วน เมื่อความสัมพันธ์และสูตรอาหารถูกกำหนดอย่างครอบคลุมและถูกต้องสิ่งนี้จะกำหนดคุณสมบัติของการเกิดพร้อมกัน: มีคำสั่งบางส่วนเพื่อให้ลำดับของงานบางอย่างสามารถจัดเรียงใหม่โดยไม่ส่งผลกระทบต่อผลลัพธ์ อีกครั้งการทำงานพร้อมกันนี้สามารถใช้ประโยชน์ในการสร้างกฎหลาย ๆ อย่างพร้อมกัน แต่การทำงานพร้อมกันเป็นคุณสมบัติของ Makefile ไม่ว่าจะมีการใช้ความขนานหรือไม่