【发布时间】:2017-08-12 14:08:27
【问题描述】:
我有两个同时运行的进程,它们运行不同的事务,最终到达相同的代码路径:
@transaction.atomic
def myFunc():
object = x.objects.get(filter=sample_filter) // Assume this gets a single row back
object.sample_property = "Hello World"
object.save()
其中一个进程不断报告在 object.save() 处等待 ShareLock 的死锁。我假设另一个没有报告,因为它是没有被杀死的那个。如果这些进程最终从 X 中选择同一行,会导致死锁吗?我看不出是怎么回事,因为 .get() 没有在“对象”上加锁,是吗?
【问题讨论】:
标签: django postgresql