线程的创建之继承Thread类
一、线程的创建
-
用一个类继承Thread类,并重写Thread类中的run()方法即可实现线程的创建。
二、线程的调用
-
用创建好的线程类实例化一个对象,通过对象的 start() 方法完成线程的调用。
三、IDEA导包操作(粗略版)
1. 下载好jar包
2. 将其拷贝到项目目录下
3. 右击添加为Library
四、编写一个多线程网络下载器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| package demo.study.ThreadTest;
import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.net.URL;
class Downloader{ public void download(String url,String name){ try { FileUtils.copyURLToFile(new URL(url),new File(name)); } catch (IOException e) { e.printStackTrace(); System.out.println("IO异常,download下载方法出现异常"); } } }
public class WebDownloader extends Thread { private String url; private String name;
public WebDownloader(String url, String name) { this.url = url; this.name = name; }
@Override public void run() { Downloader down = new Downloader(); down.download(url,name); System.out.println(name+"下载完成!!!"); }
public static void main(String[] args) { WebDownloader t1 = new WebDownloader("https://img-bed-1300797451.cos.ap-nanjing.myqcloud.com/images_bed/Java基础/20210421165714.png","1.jpg"); WebDownloader t2 = new WebDownloader("https://img-bed-1300797451.cos.ap-nanjing.myqcloud.com/images_bed/Java基础/20210421165714.png","2.jpg"); WebDownloader t3 = new WebDownloader("https://img-bed-1300797451.cos.ap-nanjing.myqcloud.com/images_bed/Java基础/20210421165714.png","3.jpg"); t1.start(); t2.start(); t3.start(); } }
|
-------------本文结束感谢您的阅读-------------