私は2つの方法があり、どちらも別のスレッドで実行されています。もう一方が呼び出されたときに実行したいメソッドの1つです。この私が次の実装ReentrantLock - 有効なアプローチですか?
@Override
public void doSomethingElse(int param)
{
lock.lock();
for (int i = 0 ; i < param; i++)
{
//do some stuff
}
lock.unlock();
}
を持って、私は私の他の方法で
@Override
public synchronized void doSomething(int[] params)
{
while (lock.isLocked())
{
// wait for it to become unlocked
}
//lock is released so lets do some stuff
ロックを使用することを選択した理由であることは、whileループは、私はこのスレッドが待機したい、と言うための正しい方法ですここでのロックは、この
おかげ