안녕하세요
이번 시간에는 자바에서 굉장히 중요한 개념인
쓰레드(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()이 아닐 수도 있다.
* |---------------------------|
* 프로세스 시작 끝
*
* |---------------------------|
* 메인 스레드 시작 끝
*
* | |스레드시작--| |
* 메인 시작 끝
*
* |--------------------|----->|
* 스레드 시작 메인끝 스레드 끝
*/
위의 예제에 대한 결과 화면은 아래와 같습니다~ ^^
댓글 없음:
댓글 쓰기