Thread 쓰레드
Thread 쓰레드
- 쓰레드를 이용하면 하나의 프로그램에서 여러 개의 실행 흐름을 만들어 실행할 수 있다.
- 동시에 여러 개의 흐름을 처리해서 속도를 빠르게 만든다.
***
####쓰레드 만들기
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) 메서드에 Synchronized 처리
2) 필드를 Thread safe하게 만들기
Leave a comment