java 스레드 자물쇠 상세 소개 및 실례 코드

java 스레드 자물쇠
자바 라인에서synchronized 키워드를 활용하여 동기화
synchronized 잠금 방법, 잠금 클래스, 잠금 대상, 잠금 코드 블록
방법 자물쇠

//  this
  public synchronized void print() {
    System.out.println(" ");
    try {
      Thread.sleep(3000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }
유형 자물쇠

public synchronized void print(String msg) {
    //  
    synchronized (MyThread.class) {
      System.out.println(msg);
      try {
        Thread.sleep(3000);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
객체 잠금
기차표를 파는 것을 예로 들다

public class Window extends Thread {

  public Window(String name) {
    super(name);
  }

  static int tick = 100;
  static String obj = new String();

  @Override
  public void run() {
    //  
    while (tick > 0) {
      //  
      //    
      //    
      synchronized (obj) {
        if (tick > 0) {
          System.out.println(getName() + " 【" + tick + "】 ");//  cpu 
          tick--;
        }
      }
      try {
        Thread.sleep(100);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }

  }
}

읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기