기록장

스레드의 기본 본문

Programming/JAVA

스레드의 기본

HJJJJJ 2023. 1. 19. 19:34
728x90

프로세스와 쓰레드 

프로세스: 실행 중인 프로그램, 자원(resources)과 쓰레드로 구분 

여기서 자원은 메모리나 cpu등을 말함 

 

쓰레드: 프로세스 내에서 실제 작업을 수행

모든 프로세서는 최소한 하나의 쓰레드를 가지고 있음

 

프레소스:쓰레드 = 공장:일꾼

 

->스래드 1개빼고 멀티 스레드임 

 

하나의 새로운 프로세스를 생성하는 것보다

하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다 

 

 

쓰레드의 구현과 실행

1) Thread클래스를 상속

import java.io.*;
import java.util.*;
 
public class GFG extends Thread {
    // 스레드에 대해 시작된 실행 메서드
    
    //Thread클래스의 run()을 오버라이딩
    public void run()
    {
    	//작업내용
        System.out.println("Thread Started Running...");
    }
    public static void main(String[] args)
    {
        GFG g1 = new GFG(); //스레드의 생성
        g1.run();	//스레드의 실행
    }
}

 

2)Runnable 인터페이스를 구현 

import java.io.*;
import java.util.*;
 
public class GFG implements Runnable {
    // method to start Thread
    public void run()
    {
    //작업내용
        System.out.println(
            "Thread is Running Successfully");
    }
 
    public static void main(String[] args)
    {
        GFG g1 = new GFG();
        // 스레드 개체 초기화
        Thread t1 = new Thread(g1);
        t1.run();
    }
}

-> 둘다 run메서드 작성 main메서드에 작업 내용한거랑 똑같음 이름만 다른거임

 

728x90

'Programming > JAVA' 카테고리의 다른 글

제네릭이란?  (0) 2023.01.27
자바의 객체지향 특징 - 생성자  (0) 2023.01.22
컬렉션프레임웍과 핵심 인터페이스  (0) 2022.12.19
이스케이프 문자/Math  (0) 2022.12.19
생성자  (0) 2022.11.26
Comments