자바 입문 Thread 입문 사용

2750 단어 자바
자바 의 스 레 드 실현 은 자바. lang. Thread 류 를 계승 하여 run 방법 을 실현 하 는 것 입 니 다.또는 Runnable 인 터 페 이 스 를 실현 하여 run 방법 을 실현 한 다음 Thread 를 예화 할 때 이 Runnable 인 스 턴 스 를 매개 변수 로 전달 합 니 다.
 
다음 코드 세 션 DownloadThread 는 Thread 에서 run 방법 을 계승 하여 Url 을 다운로드 합 니 다.
package hello;

import java.io.IOException;
import org.apache.http.client.*;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

/**
 * DownloadThread  Thread  ,  run  
 * @author yukaizhao
 *
 */
public class DownloadThread extends Thread {
	
	@Override
	public void run(){
		HttpClient client = new DefaultHttpClient();
		HttpGet httpGet = new HttpGet("http://yukaizhao.javaeye.com/");
		try {
            // Create a response handler
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
			String responseBody = client.execute(httpGet,responseHandler);
			System.out.println(responseBody);
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 
다음 코드 세 션 은 Runnable 을 실현 하고 휴면 무 작위 밀리초 수 를 실현 한 다음 텍스트 한 줄 을 출력 합 니 다.
package hello;

import java.util.Random;

/**
 *   Runnable,  run  
 * @author yukaizhao
 *
 */
public class RunnableImpl implements Runnable {
	static int _number = 0;
	public void run(){
		Random random = new Random();
		int sleepMm=random.nextInt(200);
		try {
			Thread.sleep(sleepMm);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println(String.format("I'm %1d thread",++_number));
	}
}

 
다음 코드 는 main 함수 에서 스 레 드 를 호출 하여 이 루어 집 니 다.
package hello;

public class HelloThread {
	public static void main(String[] args) throws InterruptedException{
		//  Thread  
		DownloadThread thread = new DownloadThread();
		//  run    
		thread.run();
		//join  thread       
		thread.join();
		
		//  Runnable
		Runnable[] impls = new Runnable[5];
		//  Runnable       
		Thread[] threads = new Thread[impls.length];
		for(int i=0;i<impls.length;i++){
			impls[i] = new RunnableImpl();
			// Runnable          Thread     
			threads[i] = new Thread(impls[i]);
			//    
			threads[i].start();
		}
	}
}

좋은 웹페이지 즐겨찾기