Java가 스레드를 만드는 두 가지 방법

3074 단어 Java라인
앞말
다선정은 우리가 개발하는 과정에서 자주 만나는 것이기 때문에 반드시 적지 않게 파악해야 한다.우리가 다중 스레드 개발이 필요하다는 것을 알았을 때 가장 먼저 알아야 할 자연은 어떻게 다중 스레드를 실현하는지, 즉 우리가 어떻게 스레드를 만들어야 하는지이다.
Java에서 스레드를 만드는 것과 일반 클래스를 만드는 것은 같은 작업입니다. 우리는 두 가지 방식으로 스레드를 만들 수 있습니다.
1. Thread 클래스를 상속하고 run() 메서드를 다시 작성합니다.
2. Runnable 인터페이스를 실현하고 run() 방법을 실현한다.
메서드1: Thread 클래스 상속
코드가 아주 간단해요.
우선 우리가 라인에 이름을 붙일 수 있도록 구조 함수를 다시 불러옵니다.
run () 방법을 다시 씁니다.
여기서 우리는 먼저 스레드 출력 스레드 이름 +start를 내보냅니다.
그리고 5ms마다 라인 이름 + 점증수를 출력합니다.

/**
 * Created by holten.gao on 2016/10/17.
 */
public class threadThread extends Thread {
  public threadThread(String name) {
    super(name);
  }
  @Override
  public void run() {
    System.out.println(this.getName()+" start!");
    for(int i=0;i<10;i++){
      System.out.println(this.getName()+" "+i);
      try {
        Thread.sleep(5);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}
방법2: Runnable 인터페이스 구현
코드도 굉장히 간단해요.
run () 방법을 실현합니다.
여기서 우리는 먼저 스레드 출력 스레드 이름 +start를 내보냅니다.
그리고 5ms마다 라인 이름 + 점증수를 출력합니다.

/**
 * Created by holten.gao on 2016/10/17.
 */
public class runnableThread implements Runnable {
  @Override
  public void run() {
    System.out.println(Thread.currentThread().getName()+" start!");
    for(int i=0;i<10;i++){
      System.out.println(Thread.currentThread().getName()+" "+i);
      try {
        Thread.sleep(5);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}
테스트 결과
테스트 코드

/**
 * Created by holten.gao on 2016/10/17.
 */
public class Main {
  public static void main(String[] args) {
    Thread threadThread=new threadThread("threadThread");
    threadThread.start();
    Thread runnableThread=new Thread(new runnableThread(),"runnableThread");
    runnableThread.start();
  }
}
테스트 결과

threadThread start!
threadThread 0
runnableThread start!
runnableThread 0
threadThread 1
runnableThread 1
threadThread 2
runnableThread 2
threadThread 3
runnableThread 3
threadThread 4
runnableThread 4
threadThread 5
runnableThread 5
threadThread 6
runnableThread 6
threadThread 7
runnableThread 7
threadThread 8
runnableThread 8
threadThread 9
runnableThread 9
두 가지 방법 비교
1. 자바는 단일 계승만 지원하기 때문에 사용 방법은 다른 종류를 계승할 수 없다.방법2 실현 인터페이스는 다른 종류를 계승하는 데 영향을 주지 않는다.
2. 방법1은 Thread를 계승하기 때문에 new로 바로 나오면 start가 된다.메서드 2는 Thread 객체에 객체를 매개 변수로 전송해야 Thread 객체를 얻을 수 있습니다.
3. 방법 1에서 바로 이것을 통과할 수 있다.getName 스레드 이름 얻기;방법 2는 Thread가 필요합니다.currentThread().getName () 획득
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기