당신은 정말 스레드 권리를 만들 것인가?

아래 스레드가 무엇인지 만들 수있는 여러 가지 방법의 차이 및 연락처는 그들 사이 무엇이다, 기사의 시작하기 전에 문제가 봐?

l9Q2K1.png
쉽게 대답 할 수 있다면,이 문서가 다운되지 Kanla을,이 혼동되는 경우, 다음 가서 Nauyus 여러 가지 방법이 바에서 스레드를 만들려면 너무 기본입니다!

어떻게 스레드를 만드는 방법

자바 스레드 클래스 개체 인스턴스를 가지는 java.lang.Thread의 또는 서브 클래스에서 상속되는 클래스입니다. 자바에서 스레드를 생성하기 위해 다음과 같이 사용할 수 있습니다 :

Tread thread = new Thread();
thread.start();
复制代码

그러나이 스레드가 콘텐츠 실행 스레드가 비어 있기 때문에 당신은 두 가지 방법으로 달성 될 수있다, 사용자 정의 코드를 실행하는 스레드를 필요로하는 경우, 빠른 끝을 수행하기 위해 만든 것, 하나는, Thread 클래스를 상속 실행 스레드의 run 메소드를 오버라이드 (override)하는 것입니다 프로세스에 요약 실행, 다른 매개 변수는 스레드 클래스에 건네지 Runable 인터페이스 구현 클래스를 Runable 인터페이스를 달성하는 것이다. 때문에 익명의 내부 클래스와 차례로 두 가지 방법으로 자신의 변형을 Java8 람다,하지만 원래 목적의 출현으로, 살펴 보겠습니다.

Thread 클래스 상속

첫 번째 방법은 스레드 클래스 상속, 부모 클래스의 코드 실행 스레드 이전에 정의 된 자동 실행 방법 재정의 방법을 실시 :

public class MyThread extends Thread {
   @Override
   public void run(){
     System.out.println("MyThread running");
   }
}
MyThread myThread = new MyThread();
myThread.start();
复制代码

Thread 클래스 상속 - 익명의 내부 클래스 작성

때마다 당신이 MyThread 정의 할 필요가있는 경우에만 인스턴스화하는 코드를 필요로하는 사람들을 위해 매우 익명의 내부 클래스를 가지고있는 골칫거리가, 변형입니다 :

//匿名内部类
Thread thread = new Thread(){
   @Override
   public void run(){
     System.out.println("Thread Running");
   }
};
thread.start();

//还可以更简化
new Thread(){
   @Override
   public void run(){
     System.out.println("Thread Running");
   }
}.start();
复制代码

Runable 인터페이스를 달성

이 다중 스레드를 만들 수있는 방법이 Runable 인터페이스를 달성하기 위해입니다, 인터페이스 구현 클래스 Runable함으로써 코드의 목적을 실행하기 위해 배달 스레드로 이어지는 매개 변수로 Thread 클래스에 전달 :

public class MyRunnable implements Runnable {
   public void run(){
    System.out.println("MyRunnable running");
   }
}
Thread thread = new Thread(new MyRunnable());
thread.start();
复制代码

Runable 인터페이스를 구현 - 익명의 내부 클래스를

마찬가지로, 우리는 코드를 단순화 익명의 내부 클래스를 사용할 수 있습니다 :

//匿名内部类
Runnable myRunnable = new Runnable(){
   public void run(){
     System.out.println("Runnable running");
   }
}
Thread thread = new Thread(myRunnable);
thread.start();

//还可以更简化
new Thread( new Runnable(){
    @Override
    public void run(){
        System.out.println("Runnable running");
    }
}).start();
复制代码

인터페이스 --Lambda 발현 Runable 구현

음, 여기 코드가 간단 해졌습니다이지만, 우리는이 코드를 보면 다시 :

l9Q0ET.png

사실,뿐만 아니라 System.out.println("Runnable running");몸 밖에서 우리가 왜 우리가 실제로 유용한 코드에서 얻을 수있는 라인을 통과하기 위해 전체 클래스를 전달해야 할 다음, 다른 모든 템플릿 코드를 수행 할 필요가 스레드? Java8 람다는 다음과 같이 표현이 생성되는 스레드를 사용하여, 함수 직접법에 파라미터로서 전달 될 수 있고, 함수형 프로그래밍 아이디어를 제안하고, 발현을 단순화 람다 식을 이용하여 기능 할 수있다 :

new Thread(() -> {
    System.out.println("Thread Running");
}).start();
复制代码

개요

아래 그림은 물론, 우리의 더 많은 스레드의 실용적인 응용 프로그램은 또한 분리 이러한 토대에서, 스레드 풀을 만들려면 스레드를 만들 수있는 방법을 요약, 더 중요한 것은, 사고, 음, 스레드의 부분에 우리의 미래 기사를 풀 안녕히 가세요.

l9QUuq.md.png

읽어 주셔서 감사합니다, 독창성이 쉬운 일이 아닙니다, 영감을 경우, 찬양에게 그것을 포인트! 이것은 나의 쓰기의 가장 강력한 엔진이 될 것이다! 이 문서는 동시에 기술에 기술보다 더 많은 대중 번호에 공개하지 않습니다 Nauyus더 많은 주 모드, 환영주의를 열고 배우고, 성장 12 월 2019 년에서, 주요 프로그래밍 언어의 일부, 건축 디자인,인지 적 사고 기사를 공유!

추천

출처juejin.im/post/5e00de4ae51d4557e87fdc26