728x90
반응형

Runnable 2

Java Thread - (2) 제어

Thread 제어 Thread 일종의 생명주기 (LifeCycle)을 가집니다. 보통은 start()메소드를 호출해 쓰레드가 작업을 시작하게 합니다. 이번 포스팅에서는 몇가지 Thread를 제어하는 메소드들을 알아보고자 합니다. Thread.sleep() - static메소드로 현재 이 메소드를 호출하는 Thread가 일정 시간동안 멈춰있게 합니다. wait() / join() - 2개 혹은 그 이상의 Thread들을 기다리거나 협업할 수 있게 합니다. interrupt() - sleep중이거나 wait중인 Thread들을 재가동 시킵니다. 위의 메소드들에 대한 예제를 구현해보겠습니다. sleep sleep중인 Thread는 아무것도 하지 않고 기다리는 상태 (IDLE상태)입니다. 이 작업은 일정 시간동..

Java Thread - (1) 기본 개념

Thread란 개념적으로 Thread는 프로그램 내의 Control Flow의 일종입니다. 이는 Process와 비슷한 개념인데, 차이점은 한 어플리케이션의 Thread끼리는 OS Process끼리의 관계보다 더 가까운 개념입니다. Thread는 기본적으로 프로그램의 모든 객체, 인스턴스, static변수들에 접근이 가능합니다. 하지만 Thread들은 각각 다른 local변수들을 가지고 있게 됩니다. Runnable 인터페이스 자바의 모든 실행기능은 Thread와 연관되어있습니다. 기본적으로는 main Thread가 작업들을 수행합니다. 이 Thread는 생성될 때 매개변수를 통해 수행할 작업을 전달받습니다. 이 작업이 바로 Runnable 입니다. 아래는 Runnable 인터페이스의 정의입니다. pub..

728x90
반응형