Browse Definitions :
Definition

infinite loop (endless loop)

What is an infinite loop?

An infinite loop -- sometimes called an endless loop -- is a piece of code that lacks a functional exit so that it repeats indefinitely. In computer programming, a loop is a sequence of instructions that is continually repeated until a certain condition is reached.

Logic diagram of a while loop.
A while loop continues running until the specified condition -- in this case i ≤ 7 -- is no longer satisfied. A false response will cause the loop to end.

Infinite loops can be used intentionally or can occur as the result of a programming error or a bug. A pseudo-infinite loop is one that looks as if it will be infinite but stops at some point.

The term infinite loop is sometimes used to describe an endless iteration situation in DevOps feedback loops and software development processes.

What is a loop in programming?

A loop in computer programming is created when a sequence of instructions repeats until a certain terminating condition is reached. Typically, a defined process is completed -- such as getting an item of data and changing it -- and then a condition is checked, such as whether a counter has reached a prescribed number. Once the prescribed number is reached the loop ends.

Loops are used to execute the same code multiple times. For example, code that checks the attendance status of each student in a classroom could return a Y for present and an N for absent. The program would need to run through the class roster of 26 students and do this for each member of the class. The program's stopping condition would occur after 26 students had been checked.

There are different types of loops, and different programming languages have different loop syntaxes. Some types of loops include the following:

  • A for loop repeats a block of code a known number of times. It iterates through a list and runs code once for each item in the list.
  • A while loop will continue to repeat as long as a specified condition is met. It checks for the condition before running the loop code.
  • A do loop runs code, then checks for the condition afterward.
  • A do-while loop is like a while loop but puts the condition at the end, so that the loop runs at least one time if the condition is not met. A while loop will not run if the condition is not met.

No matter the loop type or language syntax, most loops have an exit condition that tells the loop when to end.

How do infinite loops work?

Infinite loops continue as long as the exit condition doesn't occur. A loop without an exit condition happens when one of the following conditions exists:

  • The loop has no terminating condition.
  • The loop has a terminating condition that cannot be met.
  • The loop has a condition that instructs it to start over.

In the attendance checking program example, the 26 students are listed in alphabetical order and labeled numerically, with the first student on the list being number one and the last student being number 26. In this case, the loop would normally be set to terminate after the loop runs 26 times. However, the following criteria could turn it into an infinite loop:

  • No terminating condition is set, and the loop returns to student one and checks through the entire list over and over again.
  • The terminating condition is set to a number that does not fall into the list of 26 students, such as -1 or 316.
  • The loop contains instructions to return to student one sometime before 26 is reached or a break statement is written that causes an intentional interruption in the loop.

In all cases, if the presence of the specified condition cannot be ascertained, the next instruction in the sequence tells the program to return to the first instruction and repeat the sequence. This typically continues until the program terminates automatically after a certain amount of time, or the operating system (OS) terminates the program with an error.

Why are infinite loops used?

An infinite loop often results from a programming error. For example, the conditions for exit are incorrectly written.

However, there are instances when an infinite loop is used intentionally, enabling a program to run continuously. Some examples include the following:

  • Embedded systems. A cartridge-based video game is an embedded system that uses an infinite loop. The game runs an infinite loop until the console is powered off because there is no underlying OS to return to.
  • Operating systems. OSes are infinite loops that continually check for user input and respond accordingly. The loop continues until the device is turned off or reset.
  • Web servers. Web servers are designed to take a request, return a webpage and then wait indefinitely for the next request.
  • Viruses. Malware can use infinite loops to overwhelm a computer's processing power and cause it to crash. This technique is used to carry out a distributed denial-of-service attack, which occupies a computer or network's resources so that legitimate users can't access them.

The following joke captures the spirit of infinite loops such as malware:

  • Q: Why did the programmer die in the shower?
  • A: Because the bottle said "lather, rinse, repeat."

The programmer, thinking like a computer, presumably lathered and rinsed repeatedly until they died of exhaustion, starvation or drowned.

Infinite loop examples

The following is an example of infinite loop code in Python:

i=1
while i <= 7
	print ("still looping")

In this loop, the program checks the value of i, then says that if i is less than or equal to 7, the program will print the phrase "still looping." The exit condition is if i is greater than 7. Since there is nothing changing the value of i, this exit condition cannot be fulfilled. The program will print the phrase "still looping" indefinitely until the computer is shut off or crashes.

Infinite loops can appear in a variety of computing contexts and are used in a variety of programming languages. In some contexts, loop conditions can cause a cybersecurity breach. Cybersecurity professionals should learn these 5 essential programming languages to be able to stop these threats and others effectively.

This was last updated in February 2023

Continue Reading About infinite loop (endless loop)

Networking
  • local area network (LAN)

    A local area network (LAN) is a group of computers and peripheral devices that are connected together within a distinct ...

  • TCP/IP

    TCP/IP stands for Transmission Control Protocol/Internet Protocol and is a suite of communication protocols used to interconnect ...

  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

Security
  • identity management (ID management)

    Identity management (ID management) is the organizational process for ensuring individuals have the appropriate access to ...

  • single sign-on (SSO)

    Single sign-on (SSO) is a session and user authentication service that permits a user to use one set of login credentials -- for ...

  • fraud detection

    Fraud detection is a set of activities undertaken to prevent money or property from being obtained through false pretenses.

CIO
  • IT budget

    IT budget is the amount of money spent on an organization's information technology systems and services. It includes compensation...

  • project scope

    Project scope is the part of project planning that involves determining and documenting a list of specific project goals, ...

  • core competencies

    For any organization, its core competencies refer to the capabilities, knowledge, skills and resources that constitute its '...

HRSoftware
  • recruitment management system (RMS)

    A recruitment management system (RMS) is a set of tools designed to manage the employee recruiting and hiring process. It might ...

  • core HR (core human resources)

    Core HR (core human resources) is an umbrella term that refers to the basic tasks and functions of an HR department as it manages...

  • HR service delivery

    HR service delivery is a term used to explain how an organization's human resources department offers services to and interacts ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close