AVA - 쓰레드 (2)
쓰레드의 구현과 실행
- Thread클래스를 상속
class MyThread extends Thread{
public void run () {
// Thread클래스의 run()을 오버라이딩
}
}
- Runnable 인터페이스를 구현
class MyThread2 implements Runnable{
public void run(){
//Runnable 인터페이스의 추상메서드 run()을 구현
}
}
MyThread t1 = new MyThread(); //쓰레드의 생성
t1. start(); //쓰레드의 실행
/////////////////////////////////////////////
Runnable r = new MyThread2();
Thread t2 = new Thread(r); //Thread(Runnable r)
// Thread t2 = new Thread(new MyThread2());
t2.start(); //쓰레드의 실행
ex)
class Ex{
public static void main(String args[])
{
Thread1 t1 = new Thread1();
Runnable r = new Thread2();
Thread t2 = new Thread(r) //생성자 Thread(Runnable target)
t1.start();
t2.start();
}
}
class Thread1 extends Thread{
public void run(){ //쓰레드가 수행할 작업을 작성
for(int i=0; i<5; i++)
{
System.out.println(this.getName());
//조상인 Thread의 getName()을 호출
}
}
}
class Thread2 implements Runnable{
public void run(){
for(int i=0; i<5; i++)
{
System.out.println(Thread.currentThread().getName());
//Thread.currentThread() - 현재 실행중인 Thread를 반환한다.
}
}
}
쓰레드의 실행 - start()
쓰레드를 생성한 후에 start()를 호출해야 쓰레드가 작업을 시작한다.
Thread1 t1 = new Thread1(); //쓰레드 t1을 생성한다.
Thread2 t2 = new Thread2(); //쓰레드 t2를 생성한다.
t1.start(); //쓰레드 t1을 실행시킨다.
t2.start(); //쓰레드 t2를 실행시킨다.
start()와 run()
class ThreadTest{
public static void main(String args[]){
MyThread t1 = new MyThread(); //생성
t1.start(); //실행
}
}
class MyThread extends Thread{
publoc void run(){
// ...쓰레드 구현
}
}
Author And Source
이 문제에 관하여(AVA - 쓰레드 (2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jo_dbsgh95/JAVA-쓰레드-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)