Jak zablokować równoległe wywołania funkcji między procesami w Pythonie
Czasami ta sama funkcja może zostać wywołana równolegle przez kilka procesów, choć jej logika zupełnie się do tego nie nadaje. Jeden worker zmienia hasło do zewnętrznego systemu, drugi robi dokładnie to samo, a trzeci próbuje się właśnie zalogować. Każdy chciał dobrze, tylko teraz nikt nie zna aktualnego hasła XD. Podobny problem pojawia się przy odświeżaniu wspólnych danych, generowaniu tego samego raportu czy modyfikowaniu pliku. Jeśli operacje wejdą sobie w drogę, otrzymujemy klasyczny race condition, czyli wyścig, w którym zwycięzcą bywa zgłoszenie błędu. ...