본문 바로가기

JAVA

JAVA(2022.05.31) - Thread

Thread(쓰레드)

- 동시에 여러가지 작업을 동시에 수행할 수 있게 해준다

- 독립적으로 실행되는 하나의 작업 단위

 

extend Thread (쓰레드 만들기)

- Thread를 상속받아서 생성한다

- java.lang.Thread클래스를 상속받는다 

- Thread 클래스가 가지고 있는 start()메소드를 호출한다

 

ex) 

   public class MyThread1 extends Thread {
        String str;
        public MyThread1(String str){
            this.str = str;
        }

        public void run(){
            for(int i = 0; i < 10; i ++){
                System.out.print(str);
                try {
                    //컴퓨터가 너무 빠르기 때문에 수행결과를 잘 확인 할 수 없어서 Thread.sleep() 메서드를 이용해서 조금씩 
                    //쉬었다가 출력할 수 있게한다. 
                    Thread.sleep((int)(Math.random() * 1000));
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            } 
        } 
    }
    
    public class ThreadExam1 {
        public static void main(String[] args) {
            // MyThread인스턴스를 2개 만듭니다. 
            MyThread1 t1 = new MyThread1("*");
            MyThread1 t2 = new MyThread1("-");

            t1.start();  //run()메소드가 아닌 start()라는 Thread클래스의 메소드를 호출해야 run메소드가 실행된다 
            t2.start();
            System.out.print("!!!!!");  
        }   
    }

 

 

 

쓰레드 만들기(implements Runnable)