在
如果我理解正确,它的意思是你可以从同一个线程中执行以下操作:
这是有道理的:如果您已经锁定了
为什么在同一线程中锁定
ReentrantReadWriteLock
文档中,它说:writer can acquire the read lock, but not vice-versa
如果我理解正确,它的意思是你可以从同一个线程中执行以下操作:
//thread1
lock.writeLock().lock()
lock.readLock().lock()
print("this line executes")
这是有道理的:如果您已经锁定了
write
,则没有其他线程可以进入锁定代码。但是,如果您锁定了read
,为什么如果没有其他线程进行read
锁定,同一线程不能进入write
块呢?所以这行不通://thread1
lock.readLock().lock()
lock.writeLock().lock()
print("this line doesn't execute")
为什么在同一线程中锁定
写入
之前必须解锁读取
?