21.02.24 [Thread]

박종찬·2021년 2월 24일
0

TIL

목록 보기
84/89

멀티스레드

  • 운영체제에서 실행 중인 애플리케이션프로세스라고 부른다
  • 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션을 실행하는데 이것이 프로세스다
  • 하나의 프로그램 실행 상태에서 내부적으로 여러 가지 작업을 처리하는 것을 멀티 스레드다
  • 코드의 실행 흐름을 스레드라 부를 수 있다

메인 스레드

  • 모든 자바 프로그램은 main() 메소드를 실행하면 메인 스레드가 시작된다
  • 싱글 스레드일 경우 마지막 코드를 실행하거나, return 문을 만나면 실행이 종료된다
  • 하지만 멀티 스레드, 메인 스레드가 작업 스레드를 만들어 병렬로 코드들을 실행할 수 있고 실행 중인 스레드가 하나라도 있으면 프로세스는 종료되지 않는다

Thread 클래스 생성

작업 스레드를 직접 생성하려면 Runnable을 파라미터로 갖는 생성자를 호출해야 한다

Runnable은 작업 스레드가 실행할 수 있는 코드를 가지고 있는 객체라고 해서 붙여진 이름이다. 이 Runnable은 인터페이스 타입이기에 구현 객체를 만들어 대입해야 하는데, 이 Runnable의 run() 메소드를 오버라이딩을 해서 작업 스레드가 실행할 코드를 작성해야 한다.

Thread 생성자에 Runnable 객체를 넣어주고 start() 메소드를 호출해야 작업 스레드가 실행된다.

다른 방법으로 Thread를 상속받아 작업 스레드를 만들 수 있으며 익명 객체로도 작업 스레드를 만들 수 있다

profile
반가워요! 사람을 도우는 웹 개발자로 성장하기! :)

0개의 댓글