ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก

สารบัญ:

ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก
ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก

วีดีโอ: ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก

วีดีโอ: ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก
วีดีโอ: การจดทะเบียนเป็นวิสาหกิจเพื่อสังคม 2024, กรกฎาคม
Anonim

เดดล็อคกับความอดอยาก

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

การหยุดชะงักคืออะไร

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

ในปัจจุบัน การชะงักงันเป็นหนึ่งในปัญหาหลักในระบบมัลติโปรเซสเซอร์และการประมวลผลแบบขนาน ในการแก้ปัญหานี้ จะมีการนำระบบล็อคที่เรียกว่าการซิงโครไนซ์กระบวนการมาใช้กับซอฟต์แวร์และฮาร์ดแวร์

ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก
ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก
ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก
ความแตกต่างระหว่างการหยุดชะงักและความอดอยาก

ความอดอยากคืออะไร

จากพจนานุกรมวิทยาศาสตร์การแพทย์ ความอดอยากเป็นผลมาจากการขาดสารอาหารอย่างรุนแรงหรือขาดสารอาหารที่จำเป็นสำหรับการดำรงชีวิต ในทำนองเดียวกัน ในวิทยาการคอมพิวเตอร์ ความอดอยากเป็นปัญหาที่พบเมื่อหลายเธรดหรือกระบวนการรอทรัพยากรเดียวกัน ซึ่งเรียกว่าการหยุดชะงัก

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

อาจมีความหิวโหยได้หลายอย่าง เช่น หิวโหยกับทรัพยากร และหิวโหยกับซีพียู มีตัวอย่างทั่วไปมากมายเกี่ยวกับความอดอยาก เป็นปัญหาของนักอ่าน-นักเขียน และปัญหานักปรัชญาด้านอาหารซึ่งโด่งดังกว่า มีนักปรัชญาเงียบห้าคนนั่งอยู่ที่โต๊ะกลมพร้อมชามปาเก็ตตี้ ส้อมวางอยู่ระหว่างนักปรัชญาที่อยู่ติดกันแต่ละคู่ นักปรัชญาแต่ละคนต้องสลับกันคิดและกิน อย่างไรก็ตาม นักปรัชญาสามารถกินสปาเก็ตตี้ได้ก็ต่อเมื่อเขามีทั้งส้อมซ้ายและขวา

Deadlock vs ความอดอยาก
Deadlock vs ความอดอยาก
Deadlock vs ความอดอยาก
Deadlock vs ความอดอยาก

“นักปรัชญาการรับประทานอาหาร”

การหยุดชะงักและความอดอยากต่างกันอย่างไร

กระบวนการ:

• ในภาวะชะงักงัน สองเธรดหรือกระบวนการจะรอกันและกันและทั้งคู่จะไม่ดำเนินการต่อ

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

ย้อนกลับ:

• ในภาวะชะงักงัน ทั้งเธรด/กระบวนการที่มีลำดับความสำคัญสูง รวมถึงเธรด/กระบวนการที่มีลำดับความสำคัญต่ำ จะรอกันและกันอย่างไม่มีสิ้นสุด ไม่สิ้นสุด

• แต่ในความอดอยาก คนสำคัญต่ำจะรอหรือถอยหลังแต่คนลำดับความสำคัญสูงจะดำเนินต่อไป

รอหรือล็อค:

• การหยุดชะงักคือการรอคอยเป็นวงกลม

• ความอดอยากเป็นเหมือนชีวิตที่จำเจและบางครั้งก็ช่วยให้หลุดพ้นจากภาวะชะงักงัน

การหยุดชะงักและความอดอยาก:

• การหยุดชะงักทำให้เกิดความอดอยาก แต่ความอดอยากไม่ทำให้เกิดการหยุดชะงัก

สาเหตุ:

• การชะงักงันจะเกิดขึ้นเนื่องจากการกีดกันซึ่งกันและกัน ถือและรอ ไม่มีการสั่งจองหรือการรอแบบวนซ้ำ

• ความอดอยากเกิดขึ้นเนื่องจากการขาดแคลนทรัพยากร การจัดการทรัพยากรที่ไม่มีการควบคุม และลำดับความสำคัญของกระบวนการ

สรุป:

การหยุดชะงักกับความอดอยาก

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