ロック

とある処理の中で、ある部分だけは1スレッドのみ実行させたい、
といった時のために、ロックという仕組みが用意されている。
使い方はこのようになる。


private static final ILock lock = Job.getJobManager().newLock();

public void method() {
try {
lock.acquire();
// なんかしらの処理
} finally {
lock.release();
}
}


ILock#acquire()は、ロックが取得できるまで処理が戻ってこない。
ロックを取得できなくても一定時間で処理を戻したい場合は、
boolean ILock#aquire(long) を使う。