まずはスリープ。
try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); }
TimeUnit#sleep は、javadoc を見ると単に Thread.sleep の簡易呼び出しに過ぎないらしい。
つぎにロック。
private ReentrantLock lock = new ReentrantLock(); private void lockSample() { lock.lock(); try { //ロックをかけて処理したいことをここに書く } finally { lock.unlock(); } }
……まぁ、Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle のサンプルコードとマッタク同じなんですが。こいつは synchronized とおなじことが実現できる。finally で unlock 必ずしないといけないのがちと synchronized と違い気をつけないといけない点かな? tryLock とか面白そうな感じなので、java.util.concurrent はちゃんと勉強したいなぁ……