안녕하세요~ IT깡패's입니다~ㅎㅎㅎ
자바에서 쓰레드를 사용할 때, sleep를 사용해야 될때가 있는데요
그때 어떤 방법으로 사용가능한지에 대해서 알아보겠습니다~
일단 자바에서 쓰레드를 이용한 run메서드에서 sleep를 사용하려면 두 가지 방법으로 사용이 가능합니다~ㅎㅎ
첫 번째는 상속을 이용한 방법이고요, 두 번째는 implement를 이용한 인터페이스를 사용하는 것인데요~
이들이 자바에서 어떻게 사용되는지 알아보겠습니다~!!
ex) 상속을 이용한 방법~!!
class Car extends Thread{
public void run() {
for(int i=0;i<10;i++) {
System.out.println(i);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
여기서 살펴보실 것은 sleep(1000)이라는 곳인데요~
이는 Thread.sleep(1000)이라고 해도되고 간단하게 sleep(1000)라고 하셔도 됩니다~
일단 자바에서 run메서드 안에 sleep(1000)이 들어가면 try catch문을 실행시켜 InterruptedException을 예외처리
해준다고 보시면 되겠습니다.
ex)인터페이스 inplements를 이용한 방법
class Sonata implements Runnable{
public void run() {
for(int i=0;i<10;i++) {
System.out.println(i);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
이렇게 implements를 이용한 Runnable클래서에서도 sleep(1000)가 잘 나오게끔 해주는데요.
여기서도 run메서드 안에 sleep(1000)과 try catch문을 넣고 실행시켜줍니다.
그러면 이제 맨밑에 메인에서 실행시켜주는 방법이 있는데요~
한번 그부분도 살펴보겠습니다~!
ex) Thread실행하기
public class Threads {
public static void main(String[] args) {
System.out.println("ㄱㄱㄱ");
Car c = new Car();
c.start();
Sonata s = new Sonata();
Thread tt = new Thread(s);
tt.start();
System.out.println("마구마구 섞인다.");
}
}
이렇게 하면 이제 실행이 되는데요~ thread run메소드에서는 start()라는 함수가 사용되서 실행이 가능한데요.
그것으로 둘 다 실행을 해보겠습니다~
먼저 상속을 사용한 객체에서는 바로 start()함수를 사용해서 실행가능했는데요~
인터페이스 쪽에서는 객체를 사용하면 바로 start()함수를 사용할 수 없었습니다.
그래서 Thread객체를 사용해서 실행을 시켜줄 수 있습니다~
마지막으로 실행을 한번 시켜보도록 하겠습니다~!!
'IT 관련,, > Java관련 언어들' 카테고리의 다른 글
[웹/JS]자바스크립트 function사용해서 페이지 넘기기~!! (0) | 2020.07.24 |
---|---|
[웹/JS]자바스크립트 경고창에 대한 내용들~!! (0) | 2020.07.17 |
[php/개발자]웹사이트 결제모듈 연동시키기~!! (1) | 2020.01.24 |
[WEB/SPRING]Springboot 프로젝트 생성하기~!! (0) | 2019.08.02 |
JSP화면 페이지에서 한글 처리(UTF-8) 해주기! (0) | 2018.08.19 |