1
我有一个关于pthread_wrlock_wlock和pthread_wrlock_rdlock的问题: 它们没有实现为自旋锁?是不是pthread_wrlock_xxlock自旋锁?
我在我的代码试过这样:
pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
pthread_rwlock_rdlock (&rwlock);
pthread_rwlock_wrlock (&rwlock);
=>这将导致如我所料
不过,我不明白为什么崇敬一个不会引起死锁死锁:
pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
pthread_rwlock_wrlock (&rwlock); // return 0
pthread_rwlock_rdlock (&rwlock); // return 35
如果pthread_rwlock_rdlock旋转,为什么它会返回失败而不是旋转?
谢谢,史蒂夫,我已经在不同的线程中尝试了这一点,并且发生了死锁。 – kai