19. Explain different ways of creating thread
질문의 목적
Java Thread
- 자바에서 스레드는 독립적인 작업을 할 수 있는 미니 프로세스
- thread를 만들고 start() 라는 명시적으로 메서드를 호출해야 실행이 가능함
- 다중 스레드 지원
- 여러 스레드를 다룰 때는 공유하는 데이터에 특별히 주의해야함
- 데드락 : 서로다른 스레드가 교착상태에 빠져서 둘다 진행을 못하고 마냥 기다리는 경우
Thread를 생성하는 방법
Extends Thread
- 기존의 Thread를 상속받아서 사용함
- override run() method
Implement Runnable
- run() 메서드가 있는 runnable 인터페이스를 오버라이딩 함
- 그 객체를 스레드 생성자에 넣으면 스레드 생성됨

Keyword Check
- Java supports multi thread
- shared resource, deadlock 을 고려해서 설계해야함
- extends Thread
- implements Runnable (Preferable) --> 자바는 단일 상속이라서 인터페이스를 구현하는것이 선호됨