Interface Synchronizable


public interface Synchronizable

Implementations of this interface expose a lock object via getLock() so that callers can synchronize externally on that lock:

 if (iterator instanceof Synchronizable)
 {
     Object element = null;
     synchronized (((Synchronizable)iterator).getLock())
     {
         if (iterator.hasNext())
             element = iterator.next();
     }
 }
 

In the example above, the calls to hasNext() and next() are performed "atomically".

  • Method Summary

    Modifier and Type
    Method
    Description
     
  • Method Details

    • getLock

      Object getLock()
      Returns:
      the lock object to synchronize on