루틴을 만들고 시작하는 두 가지 방법

2515 단어 Java 학습
방법 1: Thread 클래스 상속
단계:
1): 클래스 A가 java에 계승되는 것을 정의합니다.lang.Thread 클래스.
2): Thread 클래스의 run 메서드를 클래스 A에서 덮어씁니다.
3): 우리는 런 방법에서 실행해야 할 조작을 작성한다. 런 방법의 코드, 라인 실행체.
4):main 방법(라인)에서 라인 대상을 만들고 라인을 시작합니다.
(1) 스레드 클래스 객체를 만들려면 다음과 같이 하십시오.
Class A = new Class A(),
(2) 스레드 대상을 호출하는 start 방법:
a.start();//스레드 시작
 
주의: 절대로 런 방법을 사용하지 마십시오. 만약 런 방법을 사용하는 것이 대상 호출 방법과 같다면, 여전히 하나의 라인만 있고, 새로운 라인이 열리지 않습니다.
라인은 한 번만 시작할 수 있습니다!
부트 스레드 인스턴스를 만들려면 다음과 같이 하십시오.
//1): A java.lang.Thread .
class MusicThread extends Thread{
	//2): A Thread run .
	public void run() {
		//3): run 
		for(int i = 0; i < 50; i ++){
			System.out.println(" "+i);
		}
	}
}

public class ExtendsThreadDemo {
	public static void main(String[] args) {
		
		for(int j = 0; j < 50; j ++){
			System.out.println(" "+j);
			if(j == 10){
				//4): main ( ) , , .
				MusicThread music = new MusicThread();
				music.start();
			}
		}
	}

}

방식 2: Runnable 인터페이스 구현
단계:
1): 자바에서 클래스 A를 정의합니다.lang.Runnable 인터페이스, A클래스는 루틴 클래스가 아닙니다.
2): 클래스 A에서 Runnable 인터페이스의run 메서드를 덮어씁니다.
3): 우리는 런 방법에서 실행할 동작을 작성합니다: 런 방법의 라인 집행체.
4):main 방법(라인)에서 라인 대상을 만들고 라인을 시작합니다.
(1) 스레드 클래스 객체를 만들려면 다음과 같이 하십시오.
     Thread  t = new Thread(new  A());    
(2) 스레드 대상을 호출하는 start 방법:
     t.start();
 
//1): A java.lang.Runnable , A .
class MusicImplements implements Runnable{
	//2): A Runnable run .
	public void run() {
		//3): run 
		for(int i = 0; i < 50; i ++){
			System.out.println(" "+i);
		}
		
	}
}

public class ImplementsRunnableDemo {
	public static void main(String[] args) {
		for(int j = 0; j < 50; j ++){
			System.out.println(" "+j);
			if(j == 10){
			    //4): main ( ) , , 
				MusicImplements mi = new MusicImplements();
				Thread t = new Thread(mi);
				t.start();
			}
		}
	}

}

상속 방식과 실현 방식의 차이를 분석하다.
계승방식: 1): 디자인에서 분석하면 자바의 클래스는 단일 계승이다. Thread를 계승하면 이 클래스는 다른 직접적인 부류가 없을 것이다.2): 조작적으로 분석하면 계승 방식이 더욱 간단하고 라인 이름을 얻는 것도 간단하다.(조작상 더욱 간단)3): 여러 라인이 같은 자원을 공유하는 것을 분석할 때 계승 방식은 할 수 없다.실현 방식: 1): 디자인에서 분석하면 자바 중류는 인터페이스를 많이 실현할 수 있다. 이때 이 클래스는 다른 클래스를 계승할 수 있고 다른 인터페이스도 실현할 수 있어 디자인이 더욱 합리적이다.2): 조작적으로 분석하면 실현 방식이 조금 복잡하고 라인 이름을 얻는 것도 복잡하기 때문에 Thread를 사용해야 한다.현재 스레드의 참조를 가져오려면 currentThread () 를 사용하십시오.
3): 여러 라인이 같은 자원을 공유하는 것을 분석하면 실현 방식이 가능하다(같은 자원을 공유하는지 여부).
보충: 실행 방식으로 루트 이름 가져오기:
String name = Thread.currentThread().getName();

좋은 웹페이지 즐겨찾기