Java中多執行緒的案例
執行緒實現(重點)
Thread(執行緒不一定立即執行,CPU安排排程)
- 自定義執行緒類繼承Thread類
- 重寫 run()類,編寫執行緒執行體
- 建立執行緒物件,呼叫start()方法啟動執行緒
案例1: 多執行緒的執行順序
package Thread;
//建立執行緒方式一:繼承Thread類,重寫run()方法, 呼叫start開啟執行緒
//總結:注意 執行緒開啟不一定立即執行 ,由CPU排程執行
public class TestThread extends Thread {
public void run(){
//run方法執行緒體
for (int i = 0; i < 200; i++) {
System.out.println("我在學習Java的多執行緒------"+i);
}
}
public static void main(String[] args) {
//main執行緒, 主執行緒
//建立一個執行緒物件
TestThread testThread=new TestThread();
//呼叫start()方法開啟執行緒
testThread.start();
for (int i = 0; i < 1000; i++) {
System.out.println("我在學習JS的方法-------"+i);
}
}
}
案例2:實現多執行緒同步下載圖片
- 完成這個案例之前可以必須下載一個包 就是 commons-io-2.8.0.jar 如果就出現不了效果
- 在本個專案下建立一個 lib資料夾 複製進去 就可以了
- 如果想要這個包 可以私信博主
package Thread;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//練習Thread,實現多執行緒同步下載圖片
public class TestThreadPK extends Thread {
private String url; //網路圖片地址
private String name; //儲存的檔名
//建立有參構造
public TestThreadPK(String url, String name){
this.url=url;
this.name=name;
}
public void run(){
WebDownloader webDownloader=new WebDownloader();
webDownloader.downloader(url,name);
System.out.println("下載檔名為:"+name);
}
public static void main(String[] args) {
//url是 網頁上圖片的路徑
TestThreadPK t1=new TestThreadPK("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2771978851,2906984932&fm=26&gp=0.jpg","1.jpg");
TestThreadPK t2=new TestThreadPK("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2583035764,1571388243&fm=26&gp=0.jpg","2.jpg");
TestThreadPK t3=new TestThreadPK("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1280325423,1024589167&fm=26&gp=0.jpg","3.jpg");
t1.start();
t2.start();
t3.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方法出現異常");
}
}
}
相關文章
- Java中的多執行緒Java執行緒
- 多執行緒案例執行緒
- java多執行緒學習小案例Java執行緒
- Java 程式中的多執行緒Java執行緒
- Java多執行緒——執行緒Java執行緒
- 多執行緒-多執行緒方式3的求和案例執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- Java多執行緒/併發08、中斷執行緒 interrupt()Java執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- Java程式中的多執行緒(1)(轉)Java執行緒
- Java程式中的多執行緒(2)(轉)Java執行緒
- 程式設計思想之多執行緒與多程式(3):Java 中的多執行緒程式設計執行緒Java
- java——多執行緒Java執行緒
- java 多執行緒Java執行緒
- 【Java】多執行緒Java執行緒
- JAVA 多執行緒 ??Java執行緒
- Java多執行緒Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- Java多執行緒——守護執行緒Java執行緒
- Java多執行緒16:執行緒組Java執行緒
- Java多執行緒18:執行緒池Java執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- 【Java】【多執行緒】執行緒的生命週期Java執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- C#中的執行緒(三)多執行緒C#執行緒
- 探討Java中的多執行緒概念 - foojayJava執行緒
- Java多執行緒12:ReentrantLock中的方法Java執行緒ReentrantLock