쓰레드를 이용하려면 2가지방법중에서 선택해야 하는데 2가지방법 전부 소개할예정입니다.
//1. Thread 클레스 상속
public class ThreadTest1 extends Thread{
/*
Thread를 이용할수있는 방법
1. class Thread 상속
스레드 구현코드는 run()에 구현하면 된다.
.start() -> 스레드에 시작하면된다.
JVM이 스레드 스케쥴러에 시작요청을하게된다.
우리가 스레드를 통제하수있는게아니라 스레드스케쥴러에 요청하는것
2. interface Runnable
2.run()오버라이딩
3. thred상속
4.
*/
String title;
public ThreadTest1(String title) {
this.title = title;
}
public ThreadTest1() {}
//2.run()메소드 오버라이딩
public void run() {
for(int i=1;; i++) {
System.out.println(title +"=" + i);
try {Thread.sleep(500);}catch(Exception e) {}
}
}
public static void main(String[] args) {
ThreadTest1 tt1 =new ThreadTest1("첫번쨰 스레드");
ThreadTest1 tt2 =new ThreadTest1("둘번쨰 스레드");
//3.스레드 등록
tt1.start();
tt2.start();
}
}
//1. Runnalbe 인터페이스 상속
public class ThreadTest2 implements Runnable{
/*
스레드를 상속받는 두번쨰방법
2. interface Runnable
2-1.run()오버라이딩
2-2. thred상속
2-3.
*/
String title;
public ThreadTest2() {
}
public ThreadTest2(String title) {
this.title = title;
}
//2. 스레드 구현 코드를 run()에 구현한다.
public void run() {
int i=1;
while(true) {
System.out.printf("%s ->>i = %d\n", title, i++);
try {Thread.sleep(1000);}catch(Exception e) {}
}
}
public static void main(String[] args) {
ThreadTest2 tt1 = new ThreadTest2("첫번째 스레드");
ThreadTest2 tt2 = new ThreadTest2("두번째 스레드");
ThreadTest2 tt3 = new ThreadTest2("세번째 스레드");
Thread t1 = new Thread(tt1);
Thread t2 = new Thread(tt2);
Thread t3 = new Thread(tt3);
t1.start();
t2.start();
t3.start();
}
}
'language > java이론' 카테고리의 다른 글
[java] string class 정리 (0) | 2021.03.09 |
---|---|
[java] goto구문 (0) | 2021.03.09 |
[자바,java] 자바 exe파일을 이용하여 install프로그램으로만들기 (0) | 2021.01.18 |
[java,자바] 콘솔에서 실행되는 도서관리프로그램 (0) | 2021.01.17 |
[java,자바] java.io, InputStream메소드 정리 (0) | 2021.01.16 |
최근댓글