All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xapi.process.api.AsyncLock Maven / Gradle / Ivy

package xapi.process.api;

import xapi.except.NotYetImplemented;
import xapi.util.api.RemovalHandler;
import xapi.util.api.SuccessHandler;

public interface AsyncLock {

  /**
   * always throws {@link NotYetImplemented}.
   */
  AsyncCondition newCondition();

  /**
   * In a single-threaded environment, tryLock always returns true.
   *
   * In a threadsafe environment, only returns true if the current thread
   * owns the lock.
   *
   */
  boolean tryLock();

  RemovalHandler lock(SuccessHandler onLocked);

  /**
   * In a single-threaded environment, this will call any queued async lock
   * requests.
   */
  void unlock();


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy