Java

람다식을 이용한 멀티 쓰레드

KJihun 2023. 5. 29. 17:42
728x90
public class Main {
  public static void main(String[] args) {
    //main클래스 안에서 실행되기에 실제 Multithread는 아님
    //multithread의 동작방식을 확인하기 위해 비슷하게 구현한 것.
    Runnable task = () -> {
      for(int i = 0; i < 100; i++){
        System.out.print("$");
      }
    };
    Runnable task2 = () -> {
      for(int i = 0; i < 100; i++){
        System.out.print("*");
      }
    };



    Thread thread1 = new Thread(task);
    thread1.setName("thread1");
    Thread thread2 = new Thread(task2);
    thread2.setName("thread2");

    thread1.start();
    thread2.start();
    //출력값은 $과, *이 섞여서 나온다
    //출력값은 일정하지 않고 가변적으로 출력된다.
    //걸리는 시간이나 동작을 예측할 수 없다.
  }
}

'Java' 카테고리의 다른 글

쓰레드 제어 메소드  (0) 2023.05.29
데몬 쓰레드와 사용자 쓰레드, 쓰레드 그룹 및 우선순위  (0) 2023.05.29
싱글 쓰레드와 멀티 쓰레드  (0) 2023.05.29
프로세스와 쓰레드  (0) 2023.05.29
제네릭(Generic) 2  (0) 2023.05.26