ich über die Datenbank zu implementieren versuche Verriegelung mit dem SELECT FOR UPDATE
psql Befehl https://www.postgresql.org/docs/9.1/static/explicit-locking.htmlPSQL: Reihe über Select FOR UPDATE Verriegelungs
kann ich nicht tun dies viel Dokumentation finden um, neben der Tatsache, dass der Befehl für Datenbank erlaubt Zeilenbasiertes Sperren
Ich frage mich, was passiert, wenn Thread 1 zuerst SELECT FOR UPDATE
ausführt, dann kommt Thread 2 kurz danach und versucht, denselben Befehl auszuführen. Wird Thread 2 blockiert, bis die Datenbanktransaktion in Thread 1 festgeschrieben oder rückgängig gemacht wird?
Warum versuchst du es nicht? Anstelle von Threads können Sie dies simulieren, indem Sie zwei Sitzungen in einer PostgreSQL-Datenbank öffnen und die Befehle nacheinander in einer Transaktion ausführen. – sstan