Сильно, но это кроме того что самый эффективный, так еще и единственный способ. Семафоры дороже.
Если что этот способ используется в твоей ОС, просто реализован на Си, а не на Пыхе. Этим должна заниматься база на самом деле, но из-за говна в логике ты сделал так что транзакции ломанные, по этому у тебя и вышло это. Проверь бизнес логику, оптимизируя ее ты уберешь гонку.
так, а мьютексы на стороне бд или редиса или еще чего будут эффективнее? Вижу что есть реализация advisory locks, но сам пока не пробовал в эту сторону. Есть ли какие преимущества?
Конечно они будут более эффективные, адвисори тоже нормальное решение, обычный лок привязан к процессу, и существует только в текущей транзе.
понял, благодарю!
Использовать локи, всегда не безопасно в коммандой разработке, преимущества очевидны, но можно просто перепутать один адвисори с другим.
Обсуждают сегодня