Паралельное программирование — возможность rollback результата функции?
Достаточно давно читал статью, в которой описывалась такая фича:
Объявляем функцию особым способом. Если в процессе выполнения функции поменялись какие-то данные, то производим rollback и она запускается заново. Таким образом можно достичть thread-safe и отсутствие deadlocks.
Сейчас не помню даже язык программирования о котором шла речь.
В winapi, *nix api, на сколько я знаю, ничего подобного нет. Скорей всего Java. Да и в любом случаее — мьютексы, wait funtions, нормальная архитектура — лучший способ позаботится о thread-safe.