How to create thread 



스레드 작성에는 2가지 방법이 있습니다.

1. 스레드 클래스를 확장하는 것으로 

2. Runnable 인터페이스를 구현하는 것으로.



Thread class [스레드 클래스]

스레드 클래스는 생성자와 메소드를 제공하고, 스레드에서 작업을 수행합니다.

스레드 클래스는 오브젝트 클래스를 확장하고 Runnable 인터페이스를 구현합니다.


흔히 사용되는 스레드 클래스의 생성자

 - Thread ()

 - Thread (String name)

 - Thread (Runnable r)

 - Thread (Runnable r, String name)


흔히 사용되는 스레드 클래스의 메소드


1. Public void run(): 스레드에 대한 작업을 수행하는 데 사용됩니다.

2. Public void start(): 스레드에서 thread.JVM의 실행이 run() method를 호출하는 것을 시작합니다.

3. Public void sleep(long miliseconds): 현재 실행되는 스레드가 지정된 시간(초) 동안 정지하도록 합니다. (일시적으로 실행을 중지)

4. Public void join(): 스레드가 죽는 것을 기다립니다.

5. Public void join(long miliseconds): 스레드가 지정된 시간(초) 동안 죽는 것을 기다립니다.

6. Public int getPriority(): 스레드의 우선순위를 돌려줍니다.

7. Public int setPriority(int priority): 스레드의 우선순위를 변경합니다.

8. Public String getName(): 스레드의 이름을 돌려줍니다.

9. Public void setName(String name): 스레드의 이름을 변경합니다.

10. Public Thread currentThread(): 현재 실행되는 스레드의 레퍼런스를 돌려줍니다.

11. Public int getId(): 스레드의 id를 돌려줍니다.

12. Public Thread.State getState(): 스레드의 스테이트를 돌려줍니다.

13. Public boolean isAlive(): 스레드가 살아있다면 테스트합니다.

14. Public void yield(): 현재 실행되는 스레드가 일시적으로 정지되고, 다른 스레드가 실행됩니다.

15. Public void suspend(): 스레드를 중단하는데 사용합니다. (사용되지 않음)

16. Public void resume(): 중단된 스레드를 재개하는데 사용합니다 (사용되지 않음)

17. Public void stop(): 스레드를 정지시키는데 사용합니다. (사용되지 않음)

18. Public boolean isDaemon(): 스레드가 데몬 스레드라면 테스트합니다.

19. Public void setDaemon(boolean b): 사용자 스레드나 데몬스레드로 표시합니다.

20. Public void interrupt(): 스레드를 중단합니다. 

21. Public boolean isInterrupted(): 스레드가 정지되었다면 테스트한다.

22. Public static boolean interrupted(): 현재 스레드가 정지되었다면 테스트 한다. 



Runable 인터페이스


Runable 인터페이스는 인스턴스가 스레드에 의해 실행되도록 계획된 클래스에 의해 구현될 수 있습니다.

Runable 인터페이스는 오직 run()으로 된 메소드 만을 가집니다.

 1. public void run(): 스레드를 위해 작업을 수행하는 데 사용됩니다.



Starting a thread:

스레드의 Start() method 클래스는 새로운 스레드를 만드는데 사용됩니다. 

이것은 아래의 작업을 수행합니다. 

 - 새로운 스레드를 시작한다. (새로운  호출스택을 보유)

 - 스레드는 새로운 스테으트에서 Runnable 스테이트로 움직인다.

 - 스레드가 실행될 때, 타겟 run() 메소드가 실행될 수 있습니다.


1) By extending Thread class


class Multi extends Thread{

Public void run(){

System.out.println("thread is running...");

}

public static void main(String args[]{

Multi t1=new Multi();

t1.start();

 }

}


Output : thread is running...




2) By implementing the Runnable interface


class Multi3 implements Runnable{

Public void run(){

System.out.println("thread is running...");

}

public static void main(String args[]{

Multi3 m1=new Multi3();

Thread t1 =new Thread(m1);

t1.start();

 }

}


Output : thread is running...





영어원문내용출처 :http://www.javatpoint.com/

번역,의역 및 작성 : 초코토끼

검수 : 개발토끼

오역 및 오타의 지적은 겸손히 받겠습니다.


+ Recent posts