An umbrella term for methods and algorithms to synchronize multithreaded environments or other forms of distributed system without using locks.