Thread類及使用

ℒ ℬ發表於2020-10-04

Thread類

  1. 自定義執行緒類繼承Thread類
  2. 重寫run()方法,編寫執行緒執行體
  3. 建立執行緒物件,呼叫start()方法啟動執行緒

參考程式碼

//建立執行緒方式一:繼承Thread類,重寫run()方法,呼叫start開啟執行緒

//總結:注意,執行緒開啟不一定立即執行,由CPU排程執行

public class ArrayDemo10 extends Thread{
    @Override
    public void run() {
        //run方法執行緒體
        for (int i = 0; i < 200; i++) {
            System.out.println("run方法" + i);
        }
    }
    
    public static void main(String[] args) {
        //main執行緒,主執行緒
        
        //建立一個執行緒物件
        ArrayDemo10 ad = new ArrayDemo10();
        
        //呼叫start()方法開啟執行緒
        ad.start();
        
        for (int  i = 0; i < 1000; i++){
            System.out.println("main方法" + i);
        }
    }
}

例項:網圖下載

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.net.URL;

//需要架包:commons-io.jar

//練習Thread,實現多執行緒同步下載圖片
public class Demo02 extends Thread { //繼承Thread類

    private String url; //網路圖片地址
    private String name; //儲存的檔名

    //構造器
    public Demo02(String url, String name) {
        this.url = url;
        this.name = name;
    }

    //重寫run方法
    @Override
    public void run() {
        WebDownloader webDownloader = new WebDownloader();
        webDownloader.downloader(url, name);
        System.out.println("下載了檔名為:" + name);
    }


    public static void main(String[] args) {
        Demo02 d1 = new Demo02("https://img-home.csdnimg.cn/images/20201001020546.jpg", "1.jpg");
        Demo02 d2 = new Demo02("https://img-home.csdnimg.cn/images/20201001020546.jpg", "2.jpg");
        Demo02 d3 = new Demo02("https://img-home.csdnimg.cn/images/20201001020546.jpg", "3.jpg");

        d1.start();
        d2.start();
        d3.start();
    }
}

//下載器
class WebDownloader {
    //下載方法
    public void downloader(String url, String name) {
        try {
            FileUtils.copyURLToFile(new URL(url),new File(name));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("IO異常,downloader方法出現問題");
        }
    }

}

相關文章