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執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- java——多執行緒Java執行緒
- 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執行緒
- java多執行緒中的synchronized的byte[0]Java執行緒synchronized
- java多執行緒5:執行緒間的通訊Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- 探討Java中的多執行緒概念 - foojayJava執行緒
- java 多執行緒CountDownLatchJava執行緒CountDownLatch
- java 多執行緒-3Java執行緒
- java 多執行緒-2Java執行緒
- java 多執行緒 –同步Java執行緒
- java使用多執行緒Java執行緒
- Java--多執行緒Java執行緒
- java 多執行緒 --同步Java執行緒
- java多執行緒原理Java執行緒
- java中如何給多執行緒中子執行緒傳遞引數?Java執行緒
- java基礎(五):談談java中的多執行緒Java執行緒
- Java中的執行緒Java執行緒
- 【java】【多執行緒】程式、執行緒的基本概念(1)Java執行緒