1.프로세스(Process)
실행중인 하나의 어플리케이션
2.스레드(thread)
프로세스 내에서 실행되는 경량 프로세스로, 각 스레드는 독립적인 실행 흐름을 가진다.
3.멀티 스레드(multi thread)
하나의 프로세스 내에서 여러 스레드를 동시에 수행하는 프로그래밍 기법
4.메인 스레드(Main thread)
main 메서드가 실행되면 메인 스레드가 시작
프로그램의 시작점이자 기본 실행 흐름을 담당
5.스레드 생성
java.lang.Thread 클래스로 생성한다.
Runnable의 구현 클래스를 작성하고 그 구현 객체를 매개변수로 받아 Thread 클래스로 스레드를 생성시킨다.
다음을 보면 메인 스레드와 t1 스레드는 독립적으로 실행되기 때문에 t1 스레드가 0.5초 기다리는 동안 메인스레드의 출력이 먼저 실행된 모습이다.
public class a19 {
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread t1 = new Thread(myRunnable);
t1.start(); // 스레드 시작
System.out.println("먼저나가야지~");
}
}
class MyRunnable implements Runnable {
public void run() {
try {Thread.sleep(500);} catch(Exception e){}
System.out.println("Thread is running");
}
}
//출력
먼저나가야지~
Thread is running
6.Thread 하위 클래스
Runnable로 만들지 않고 Thread의 하위 클래스로 작업 스레드를 정의한다.
package a19_threading;
import a19_threading.MyRunnable.MyThread;
public class a19 {
public static void main(String[] args) {
MyThread t2 = new MyThread();
t2.start();
System.out.println("먼저나가야지~");
}
}
static class MyThread extends Thread {
public void run() {
try {Thread.sleep(500);} catch (Exception e) {}
System.out.println("Thread is running");
}
}
}
'Language > JAVA' 카테고리의 다른 글
[JAVA] vscode에서 JavaFX 환경 구축하기 (0) | 2024.09.02 |
---|---|
[Java] 자바 API 도큐먼트 (0) | 2024.06.19 |
[Java] 예외처리(Exception Handling) (0) | 2024.05.20 |