xapi.process.api.AsyncLock Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-gwt Show documentation
Show all versions of xapi-gwt Show documentation
This module exists solely to package all other gwt modules into a single
uber jar. This makes deploying to non-mavenized targets much easier.
Of course, you would be wise to inherit your dependencies individually;
the uber jar is intended for projects like collide,
which have complex configuration, and adding many jars would be a pain.
The newest version!
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();
}