package com.oyd.concurrent.print;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class Print implements Runnable {
private static int i = 0;
private Lock lock = new ReentrantLock();
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(2);
Print print = new Print();
executorService.execute(print);
executorService.execute(print);
executorService.shutdown();
}
@Override
public void run() {
// if (lock.tryLock())
{
lock.lock();
try {
Thread.sleep(2000);
i++;
System.out.println(new Date() + "| i = " + i);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
lock.unlock();
}
}
}
}