Backend/JAVA
[JAVA] thread
by howdyoon
2023. 3. 26.
1. Thread 클래스를 상속
class MyThread extends Thread {
public void run() {}
}
2. Runnable 인터페이스를 구현
class MyThread implements Runnable {
public void run() {}
}
package oop0322;
class MyThread1 {
private int num;
private String name;
public MyThread1() {}
public MyThread1(int num, String name) {
this.num = num;
this.name = name;
}
public void start() {
run();
}
public void run() {
for(int a=0; a<num; a++){
System.out.println(name+":"+a);
}
}
}
public class Test05_thread {
public static void main(String[] args) {
MyThread1 t1=new MyThread1(1000, "★");
MyThread1 t2=new MyThread1(1000, "★★");
MyThread1 t3=new MyThread1(1000, "★★★");
t1.start();
t2.start();
t3.start();
}
}
package oop0322;
class MyThread2 extends Thread {
private int num;
private String name;
public MyThread2() {}
public MyThread2(int num, String name) {
this.num = num;
this.name = name;
}
@Override
public void run() {
for(int a=0; a<num; a++){
System.out.println(name+":"+a);
}
}
}
public class Test06_thread {
public static void main(String[] args) {
MyThread2 t1=new MyThread2(1000, "★");
MyThread2 t2=new MyThread2(1000, "★★");
MyThread2 t3=new MyThread2(1000, "★★★");
t1.start();
t2.start();
t3.start();
}
}
package oop0322;
class MyThread3 implements Runnable {
private int num;
private String name;
public MyThread3() {}
public MyThread3(int num, String name) {
this.num = num;
this.name = name;
}
@Override
public void run() {
for(int a=0; a<num; a++){
System.out.println(name+":"+a);
}
}
}
public class Test07_thread {
public static void main(String[] args) {
Thread t1=new Thread(new MyThread3(1000, "★"));
Thread t2=new Thread(new MyThread3(1000, "★★"));
Thread t3=new Thread(new MyThread3(1000, "★★★"));
t1.start();
t2.start();
t3.start();
}
}