Thread類及使用
Thread類
- 自定義執行緒類繼承Thread類
- 重寫run()方法,編寫執行緒執行體
- 建立執行緒物件,呼叫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方法出現問題");
}
}
}
相關文章
- Thread類thread
- Java多執行緒Thread類使用Java執行緒thread
- Percona 5.6 thread pool說明及使用thread
- java併發程式設計:Thread類的使用Java程式設計thread
- Java併發程式設計:Thread類的使用介紹Java程式設計thread
- (不要)使用std::threadthread
- Java多執行緒(二):Thread類Java執行緒thread
- Java之Thread類的常用方法 .sleep()Javathread
- java多執行緒之Thread類Java執行緒thread
- Thread類實現買電影案例thread
- 使用Thread類和Runnable介面實現多執行緒的區別thread執行緒
- 多執行緒系列(二)之Thread類執行緒thread
- thread 描述執行緒的一個類thread執行緒
- Java_Thread類的sleep()與SystemClock類的sleep()的區別Javathread
- delegate Thread 的簡單使用thread
- Java Thread 類相關的幾個核心方法Javathread
- muduo網路庫學習筆記(3):Thread類筆記thread
- java. 中 繼承Thread類建立執行緒.Java繼承thread執行緒
- RT-Thread Studio使用教程thread
- C#中Thread.Sleep()的作用及用法C#thread
- Java中陣列及相關類的使用Java陣列
- CSS選擇器種類及使用方法CSS
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- 使用Thread打造上傳下載器thread
- qt -- QString類及常用函式功能的使用QT函式
- 02.併發程式設計(2)Thread類原始碼分析程式設計thread原始碼
- Threadthread
- thread在surfaceview中的使用與刪除threadView
- 4-Thread類詳解與執行緒的狀態分析thread執行緒
- 多執行緒-繼承Thread類的方式賣電影票案例執行緒繼承thread
- Hystrix semaphore和thread隔離策略的區別及配置參thread
- Could not obtain transaction-synchronized Session for current thread原因及解決方案AIsynchronizedSessionthread
- 07 併發工具類CountDownLatch、CyclicBarrier、Semaphore使用及原始碼分析CountDownLatch原始碼
- @Java | Thread & synchronized – [ 執行緒同步鎖 基本使用]Javathreadsynchronized執行緒
- RT-Thread 使用env修改Finsh 串列埠thread串列埠
- Hello,Threadthread
- Thread jointhread
- Java之實現多執行緒的方式一 :繼承Thread類Java執行緒繼承thread