我有兩個方法都運行不同的線程,其中一個方法我不想運行時,另一個已被調用。這是我選擇在我的其他的方法來使用鎖ReentrantLock - 這是一個有效的方法來使用它
@Override
public synchronized void doSomething(int[] params)
{
while (lock.isLocked())
{
// wait for it to become unlocked
}
//lock is released so lets do some stuff
我有以下實施
@Override
public void doSomethingElse(int param)
{
lock.lock();
for (int i = 0 ; i < param; i++)
{
//do some stuff
}
lock.unlock();
}
的原因是while循環的說法正確的方法,我想這個線程等待在這裏,直到鎖被釋放還是有實現這個
感謝