본문 바로가기

CS

[Java] Runnable, Thread 예시

기본 예시

1. Runnable 인터페이스 생성

Runnable logic1 = () -> {
	//logics
}

Runnable logic2 = () -> {
	//logics
}
자바에서 람다식은 인터페이스에서만 사용가능

 

2. Thread에 Runnable 함수형 인터페이스를 넣어줌

Thread thread1 = new Thread(loagic1)
Thread thread2 = new Thread(loagic2)

3. Thread를 실행

thread1.start();
thread2.start();

쓰레드 실행 제어 함수들

  1. sleep(long millis), sleep(long milis, int nanos)
    • 지정된 시간동안 쓰레드를 정지
    • 시간이 지난 후, 자동으로 실행대기상태가 됨
  2. join(), join(long milis), join(long milis, int nanos)
    • 지정된 시간동안 쓰레드를 실행
  3. interrupt()
    • sleep() 혹은 join()에 의해 일시정지된 쓰레드를 깨워 실행대기상태로 만듬
  4. stop()
    • 쓰레드를 즉시 종료
  5. suspend() ↔️ resume()
    • suspend(): 쓰레드를 일시정지
    • resume(): suspend된 쓰레드를 실행대기상태로 전환
  6. yield()
    • 실행 중 자신의 실행시간을 다른 쓰레드에게 양보하고, 실행대기상태로 전환