Thread

  • 선언: new Thread( run())
  • 실행: new Thread(run()).start(); run()함수 실행
  • 목적: 일을 더 빠르게 하기 위해
// Thread 생성과 동시에 실행
Thread thread = new Thread(() =>
    for(int i=0;i<4;i++){
        System.out.println("hellow world")
    }
).run();

synchronized

  • 동기화, 특정 객체에 lock이 걸려있는지 안 걸려있는지 체크 하여 작업
  • 구문: synchronized(객체)
  • 기능: 해당 객체에 lock이 걸려있는지 확인한다
    • 해당 객체에 lock이 안 걸려 있다면 걸고 실행
    • 해당 객체에 lock이 걸려 있다면 해제될때까지 기다린다.
  • 논 synchronized는 객체 lock이 걸려있든 걸려있지 않든 실행 시킨다.
// 두 함수는 동일한 기능
// 명시 되어 있지는 않지만 this 객체를 기준으로 lock을 검사함
public synchronized void print1(){
// to do
}

public void print2(){
    synchronized(this){
    // to do 
    }
}

Optional 객체

  • return null 을 통해 코드가 복잡해지는 걸 방지하기 위해 사용을 권장
  • .ifPresent(s→(System.out.println(”test”))): 해당 Optional 객체가 null이 아니라면 해당 내용을 실행해라

+ Recent posts