标签: c++ multithreading concurrency mutex deadlock
安东尼威廉姆斯的书:
例如,考虑在两者之间交换数据的操作 同一类 的实例 ;为了确保数据 正确交换,不受并发影响 修改时,必须锁定两个实例上的互斥锁。然而, 如果选择了固定顺序(例如,实例的互斥锁 作为第一个参数提供,然后是实例的互斥锁 作为第二个参数提供),这可能适得其反:所需要的一切 是两个线程尝试在相同的两个之间交换数据 交换参数的实例,你有死锁!
当两个实例不属于同一类时,是否会出现死锁问题?