Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Açıklaması şöyle. Niçin may kelimesi kullanılmış bilmiyorum.
Bekleyen tüm thread'leri uyandırır.
Örnek ver.
Producer
Klasik kullanımı şöyledir.
1. Lock kilitlenir
2. Condition sinyallenir
3. Lock bırakılır
Şu satırı dahil ederiz.
import java.util.concurrent.locks.Condition;Şöyle yaparız.
Lock lock = new ReentrantLock();
Condition condition  = lock.newCondition();Şöyle yaparız.
condition.await();Açıklaması şöyle. Niçin may kelimesi kullanılmış bilmiyorum.
Bekleyen tek bir thread'i uyandırır. Şöyle yaparız.An implementation may (and typically does) require that the current thread hold the lock associated with thisConditionwhen this method is called.
condition.signal();Bekleyen tüm thread'leri uyandırır.
condition.signalAll();Örnek ver.
Producer
Klasik kullanımı şöyledir.
1. Lock kilitlenir
2. Condition sinyallenir
3. Lock bırakılır
@Override
public void foo (){
  lock.lock();
  try{
    ...
    condition.signalAll();
  } finally{
    lock.unlock();
  }
}
 
Hiç yorum yok:
Yorum Gönder