Thread 쓰레드

Thread 쓰레드

  1. 쓰레드를 이용하면 하나의 프로그램에서 여러 개의 실행 흐름을 만들어 실행할 수 있다.
  2. 동시에 여러 개의 흐름을 처리해서 속도를 빠르게 만든다.

    ***
    ####쓰레드 만들기
    1. Runnable 인터페이스 구현
    1) Runnable 인터페이스를 구현하는 클래스* 생성
    2) Runnable 인터페이스의 run() 메서드 오버라이딩
                                     실제로 동작할 코드
    3) Thread는 Runnable 인터페이스를 상속받고 생성자에 Runnable을 받는다.
      start() 메서드가 있다.
       쓰레드를 준비시키고 run()메서드를 호출
    4) Thread 변수명 = new Thread (클래스);
        변수명.start();          - start()는 Thread의 메서드, run()메서드 호출
                                                          - run()은 Runnable의 메서드
    클래스
    에서 오버라이딩 했기 때문에 오버라이딩한 run()메서드가 호출된다.

2. Thread 클래스 상속
1) Thread 클래스를 상속받는 클래스** 생성
2) run() 메서드 오버라이딩


####공유 객체와 동기화

  1. 여러 개의 쓰레드가 동시에 실행될 때 하나의 객체를 공유하는 경우가 있다.
  2. 동시에 쓰레드가 실행되면 문제가 생길 수 있다.

해결 방법
1) 메서드에 Synchronized 처리
2) 필드를 Thread safe하게 만들기

Updated:

Leave a comment