Транзакции должны блокировать друг друга только в том случае, если они работают с одними и теми же данными (обычно на уровне записи).
Обычно они ждут завершения транзакций, блокирующих эти записи, и затем продолжаются. В некоторых случаях они могут быть запрограммированы на ошибку / сбой, если им придется ждать блокировки.