자바(Java) - 쓰레드(Thread) 개념과 예제 part1

안녕하세요

이번 시간에는 자바에서 굉장히 중요한 개념인

쓰레드(Thread)에 대해 글을 쓸까 합니다.


먼저 쓰레드가 무엇인지 설명하겠습니답~!


Thread란?

=> 하나의 프로세스 안에서 실행되는 명령 흐름 (프로세스 안의 작은 프로그램) 스레드는 자신의 주소공간을 갖지 않고, 실행될 때 그 프로세스의 메모리와 자원을 사용한다.

(<-> 반면 Process란.. .컴퓨터 내에 실행 중인 프로그램을 의미
 프로세스는 각각 독립된 주소공간을 가지고 실행되며, 서로 독립적으로 실행되도록 스케줄링 할 수 있다. )


멀티 스레딩(Multi Threading) : 프로세스 안에서 여러 개의 스레드가 동시 작업하는 것. 즉 한 프로그램 내에서 두 가지 이상의 일을 수행하는 것


일단 여기까지 설명하고 간단하게 스레드 예제를 올려봅니다.

public class test{

public static void main(String[] args) {

int count=Thread.activeCount();
System.out.println("현재 실행중인 스레드 갯수: "+count);

//현재 실행중인 스레드를 반환
Thread tr=Thread.currentThread();
System.out.println("현재 실행중인 스레드 이름: "+tr.getName());

//스레드의 이름을 변경
tr.setName("Hi Thread");
System.out.println("--이름 변경 후----");
System.out.println(Thread.currentThread().getName());
}
}

/*
현재 프로그램에 쓰이는 스레드는 1개 이상 일 수 있다.
* 이럴 때 프로그램의 끝은 main()이 아닐 수도 있다.
* |---------------------------|
* 프로세스 시작                                          끝
*
* |---------------------------|
* 메인 스레드 시작                        끝
*
* |      |스레드시작--|          |
* 메인 시작                                끝
*
* |--------------------|----->|
* 스레드 시작             메인끝    스레드 끝
*/

위의 예제에 대한 결과 화면은 아래와 같습니다~ ^^



댓글 없음:

댓글 쓰기