Я пытаюсь реализовать блокировку через базу данных с помощью команды SELECT FOR UPDATE
Psql https://www.postgresql.org/docs/9.1/static/explicit-locking.htmlPSQL: блокировка строки с помощью SELECT FOR UPDATE
Я не могу найти много документации вокруг делает это, кроме того факта, что команда позволяет базу данных основанный на строках
Мне интересно, что произойдет, если Thread 1 выполнит SELECT FOR UPDATE
, а затем Thread 2 появится сразу же и попытается выполнить ту же команду. Заблокирован ли поток 2 до тех пор, пока транзакция базы данных в потоке 1 не завершится или не вернется?
Почему бы вам не попробовать? Вместо потоков вы можете имитировать это, открыв 2 сеанса в базе данных PostgreSQL и последовательно выполняя команды в транзакции. – sstan