- 자바에서 쓰레드를 만드는 방법은 크게 2가지가 존재한다.
- Thread 클래스를 상속받는 방법
- Runnable 인터페이스를 구현하는 방법
Thread 클래스를 상속받는 방법
public class MyThred1 extends Thread {
String str;
public MyThred1(String str) {
this.str = str;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(str);
try {
Thread.sleep((int) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class ThreadExam {
public static void main(String[] args) {
MyThred1 thred1 = new MyThred1("*");
MyThred1 thred2 = new MyThred1("-");
thred1.start();
thred2.start();
System.out.println("main end~~");
}
}
Runnable 인터페이스를 구현하는 방법
public class MyThread2 implements Runnable {
String str;
public MyThread2(String str) {
this.str = str;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(str);
try {
Thread.sleep((int) (Math.random() * 1000));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class ThreadExam {
public static void main(String[] args) {
MyThread2 t1 = new MyThread2("*");
MyThread2 t2 = new MyThread2("-");
Thread thread1 = new Thread(t1);
Thread thread2 = new Thread(t2);
thread1.start();
thread2.start();
System.out.println("main method end");
}
}