java多线程(2):Thread案例之下载图片-创新互联
引入pom文件
公司专注于为企业提供网站设计、做网站、微信公众号开发、电子商务商城网站建设,小程序设计,软件定制设计等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联建站更提供一系列网站制作和网站推广的服务。commons-io commons-io2.6
代码
package xiong.demo1;
import org.apache.commons.io.FileUtils;
import sun.reflect.misc.FieldUtil;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class TestThread1Download extends Thread {
private String url;
private String name;
public TestThread1Download(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){
TestThread1Download t1 = new TestThread1Download("https://img-blog.csdnimg.cn/af0781733ad348d28d2d0d17bbcb8c2b.png","你好1.jpg");
TestThread1Download t2 = new TestThread1Download("https://img-blog.csdnimg.cn/4063a22e5f114452a655a1c6bd787018.png","你好2.jpg");
TestThread1Download t3 = new TestThread1Download("https://img-blog.csdnimg.cn/ced787d7ecff421d90d7c7ecdaa8472f.png","你好3.jpg");
t1.start();
System.out.println("执行了t1");
t2.start();
System.out.println("执行了t2");
t3.start();
System.out.println("执行了t3");
}
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("downloader方法出现异常");
}
}
}
}
运行截图
我们开启了三个线程,这三个线程并不是按序执行的,谁先抢夺到了时间,谁先执行。
验证了结论:在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能认为的干预的。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站栏目:java多线程(2):Thread案例之下载图片-创新互联
标题来源:http://hbruida.cn/article/ijhde.html