@Override
	public void run() {
		for (int i = 0; i < 5; i++) {
			lock.lock();
			System.out.printf("%s get the lock.\n'", Thread.currentThread()
					.getName());
			try {
				TimeUnit.SECONDS.sleep(1);
				System.out.printf("%s free the lock.\n", Thread.currentThread()
						.getName());
			} catch (InterruptedException e) {
				e.printStackTrace();
			} finally {
				lock.unlock();
			}
		}
	}