Blocking vs. Non-blocking

What are Blocking and Non-blocking?

  • In programming and computer systems, these are two main approaches related to how operations are executed.

  • The key difference between blocking and non-blocking is the persistence of the operation and concurrent processing.

Blocking

  • A situation where, while one operation is being executed, other operations must wait until that operation is finished.

  • This means the system's resources and control are exclusively held by the blocking operation until it completes.

  • As a result, other operations must wait for the blocking operation to finish, which can affect overall system performance.

Non-blocking

  • While one operation is being executed, other operations can proceed concurrently, and there is no mutual waiting between operations.

  • In the non-blocking approach, the persistence of operations is reduced, so overall system performance improves, and even if one operation fails, other operations can continue.

Last updated