<Process>
process : 실행 중인 프로그램
모든 프로세스는 하나 이상의 thread 를 가지고 있다.
<Thread>
thread : 프로세스 내에서 프로그램의 실행 흐름을 말한다
- single thread : thread 가 하나 뿐인 프로그램
- multi threade : thread 가 둘 이상인 프로그램
<Process 와 Thread의 차이점>
프로세스는 각각의 독립된 메모리 공간을 가진다. 따라서 마음대로 수정할 수 없다.
반면 스레드는 메모리를 공유(객체 공유)한다. 따라서 복수의 스레드가 그 객체를 읽고 쓸 수 있다.
<멀티 Thread 생성 방법>
- class ThreadExam extends Thread{} 과 같이 thread 클래스 선언
run 메소드 안에 thread의 기능을 명령문으로 입력
Thread thread = new ThreadExam(); - Runnable 인터페이스를 이용하는 방법
class ABC implements Runnable{} <<< 이 클래스는 thread 클래스가 아니다.
ABC abc = new ABC();
Thread thread = new Thread(abc);
위와 같이 Runnable 인터페이스 객체를 생성후 Thread 생성자의 파라미터에 삽입