多线程
普通方法调用
多线程
进程与线程
###
线程的创建(三种创建方式)
start方法是同时实现多条线路的运行(每次执行情况不同,由CPU调度)
run方法是后执行主线程
注意:线程开启不一定立即执行,由CPU调度执行!
下载图片
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class TestThread2 extends Thread {
private String url;
private String name;
public TestThread2(String url, String name){
this.url = url;
this.name = name;
}
@Override
public void run() {
WebDownloader webDownloader = new WebDownloader();
webDownloader.downloader(url,name);
System.out.println("打印了文件名为"+name);
}
public static void main(String[] args) {
TestThread2 testThread2 = new TestThread2("https://www.icode9.com/i/ll/?i=f41184b793a6428685702ecf0b24bb4d.png?,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQWxmcmlkXw==,size_20,color_FFFFFF,t_70,g_se,x_16","1.jpg");
testThread2.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方法出现问题");
}
}
}