Asynchronous processing
The term asynchronous processing refers to any strategy in which the processing of some tasks does not block the processing of other tasks.
Asynchronous processing may be implemented within a monolith using concurrency and parallelism (ie. asynchronous programming), or by passing asynchronous messages between programs running on multiple systems.
Asynchronous processing is the foundation of reactive programming and message-driven architecture, and is widely used in distributed software to improve performance and scalability.