private Runnable createTask() {
		return new Runnable() {
			@Override
			public void run() {
				while (true) {
					try {
						if (lock.tryLock()) {
							try {
								System.out.println("locked "
										+ Thread.currentThread().getName());
								Thread.sleep(1000);
							} finally {
								lock.unlock();
								System.out.println("unlocked "
										+ Thread.currentThread().getName());
							}
							break;
						} else {
							System.out.println("unlocked to lock "
									+ Thread.currentThread().getName());
						}
					} catch (InterruptedException e) {
						System.out.println(Thread.currentThread().getName()
								+ " is Interrupted");
					}
				}

			}

		};
	}