본문 바로가기

Skill up/Programming

JAVA 쓰레드 생성 방법



JAVA나 C++이나 기본 문법구문이나 구조는 크게 다르지 않다고 본다. C++을 계속 만져왔기때문에 JAVA의 기본 구문이나 기본적인 구조를 이해하는데는 전혀 문제가 없었다. 오히려 하나를 알고 있으니 다른 하나가 쉽게 다가 오는 것처럼... 그래서, JAVA를 공부하는데, 기본적인 내용에 대해서는 단 한두시간만에 대충대충 훑어보고 넘어갔다. 이후에 공부할 내용조차도 기본적인 개념은 몇가지를 빼놓고는 거의 동일한것 같다.
프로그램을 짤때, 종종 쓰게 되는것이 Thread인데 JAVA에서 Thread를 어떻게 쓰는지 봤다. JAVA에서 독립 쓰레드를 쓰기 위해서는 이렇게 쓰면 된다.

class A extends Thread
{
	public void run()
	{
		//쓰레드로 실행할 코드
	}
}

public class Test
{
	public static void main(String[] ar)
	{
		A _thread = new A();
		_thread.start(); //thread 호출됨.
	}
}

Test라는 메인 Class에서 Thread클래스를 상속받은 A라는 클래스를 Thread로 실행하기 위해 위처럼 사용한다. 위에서 만든 Thread는 독립 Thread라서 main함수가 끝나도 계속 수행이 된다. 하지만, 이것을 Daemon Thread 로 만들어주면 main이 끝남과 동시에 생성한 Thread가 같이 종료된다. Daemon Thread를 만드는 방법은 간단하다.

main함수내에 있는 코드를 아래와 같이 바꿔주면 된다.

A _thread = new A( );
_thread.setDaemon(true); //Daemon Thread로 만든다.
_thread.start( ); //thread 호출됨.