[Java] 프로세스와 스레드

펭귄군단·2022년 12월 15일
0

Java

목록 보기
3/6

프로세스와 스레드의 차이?

프로세스 - 운영체체로 부터 자원을 할당받는 작업의 단위

스레드 - 프로세스가 할당받은 자원을 이용하는 실행의 단위

프로세스가 작업공간(메모리)을 할당 받으면 그 작업공간에서 스레드들이 열심히 일을 한다고 생각하면 될 듯 하다.

java에서 기본적으로 1개의 스레드만 사용을 한다.
동시에 다른 작업을 하고 싶다면 Thread 클래스를 사용하여 스레드를 추가할 수가 있다.

public class A extends Thread{
	@Override
    public void run(){
    	for(int i=0; i < 5; i++){
        	sysout(i + "호출됨");
			try{Thread.sleep(500);}catch(Exception e) {}
        }
   }

public static void main(String[] args){
	Thread thread = new A();
    thread.start();
    
    for(int i=0; i < 5; i++{
    	sysout("메인 호출" + i);
        try{Thread.sleep(500);}catch(Exception e) {}
    }
}

이런식으로 작성하게 되면 순차적인 동작이 아닌 동시에 작동하는 것을 알 수 있다.
대신 스레드끼리의 공유되는 자원은 전역번수라는 것을 인지하고 있어야한다.

profile
꾸준히 배우자(다른 사람 글 복붙 할 바에 링크를 걸어라)

0개의 댓글