วงวนไม่สิ้นสุดคืออะไร?

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

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

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

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

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