Non-blocking synchronization is a technique that uses special algorithms to avoid that the execution of threads competing for a shared resource through mutual exclusion are indefinitely postponed.
Good reasons to use it are:
- Locks can not be aquired in interrupt handlers.
- Priority inversion does not happen if no locks are aquired.