java Lock 인터페이스 상세 및 실례 코드

java Lock 커넥터
java.util.concurrent.locks
인터페이스 잠금
public interface Loce
Loce는 synchronized 방법과 문장을 사용하는 것보다 더 광범위한 잠금 조작을 제공했다


import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
 
public class IntegerDemo {
  public static void main(String[] args) {
    //  3 
    SellTicket st = new SellTicket();
 
    Thread t1 = new Thread(st, " 1");
    Thread t2 = new Thread(st, " 2");
    Thread t3 = new Thread(st, " 3");
 
    //  
    t1.start();
    t2.start();
    t3.start();
  }
}
 
class SellTicket implements Runnable {
  private int ticket = 100;
  private Lock lock = new ReentrantLock();
 
  public void run() {
    while (true) {
      lock.lock();
 
      if (ticket > 0) {
        try {
          Thread.sleep(100);
        } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
 
        System.out.println(Thread.currentThread().getName() + " " + (ticket--) + " 。");
      }
 
      lock.unlock();
    }
  }
}
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기