java中synchronized和ReentrantLock的加锁和解锁能在不同线程吗?如果能,如何实现?
什么场景需要这么干???
ReentrantLock的话是可以的,只需要两个线程用同一个ReentrantLock对象,一个调用lock()一个调用unlock()方法即可
?
?
你这需求奇怪的很,你这真有这种需求建议使用redis的分布式锁。
synchronized和ReentrantLock都是可重入锁,加锁和解锁必须在同一线程,并且成对出现。
要想实现你说的这种,可以使用ReentrantLock的newLock()方法来创建一个新的锁对象,然后在不同的线程中使用这个新的锁对象进行加锁和解锁。
ReentrantLock
newLock()
这是要给客户流bug后期维护加钱吗?
😀
什么场景需要这么干???
ReentrantLock的话是可以的,只需要两个线程用同一个ReentrantLock对象,一个调用lock()一个调用unlock()方法即可
?
?
?
你这需求奇怪的很,你这真有这种需求建议使用redis的分布式锁。
synchronized和ReentrantLock都是可重入锁,加锁和解锁必须在同一线程,并且成对出现。
要想实现你说的这种,可以使用
ReentrantLock的newLock()方法来创建一个新的锁对象,然后在不同的线程中使用这个新的锁对象进行加锁和解锁。这是要给客户流bug后期维护加钱吗?
😀