Многопоточность без использования локов
Интересный пример избавления от локов с помощью очереди тасков.
Очень похоже на то что делают Executors в Java. Например сделав Executor, который выполняет входящие таски в один поток мы гарантируем, что только этот поток и имеет доступ к ресурсу.
А с помощью Future можно избавиться от callback ада, и делать вид что все выполняется синхронно последовательно.