본문 바로가기

JAVA 기초/Process 와 Thread

프로세스와 스레드

<Process>

process : 실행 중인 프로그램
         모든 프로세스는 하나 이상의 thread 를 가지고 있다.

<Thread>

thread : 프로세스 내에서 프로그램의 실행 흐름을 말한다

    • single thread : thread 가 하나 뿐인 프로그램
    • multi threade : thread 가 둘 이상인 프로그램 


<Process 와 Thread의 차이점>

프로세스는 각각의 독립된 메모리 공간을 가진다. 따라서 마음대로 수정할 수 없다.

반면 스레드는 메모리를 공유(객체 공유)한다. 따라서 복수의 스레드가 그 객체를 읽고 쓸 수 있다.



<멀티 Thread 생성 방법>


  1. class ThreadExam extends Thread{} 과 같이 thread 클래스 선언
    run 메소드 안에 thread의 기능을 명령문으로 입력
    Thread thread = new ThreadExam();
  2. Runnable 인터페이스를 이용하는 방법
    class ABC implements Runnable{} <<< 이 클래스는 thread 클래스가 아니다.
    ABC abc = new ABC();
    Thread thread = new Thread(abc);
    위와 같이 Runnable 인터페이스 객체를 생성후 Thread 생성자의 파라미터에 삽입