多线程笔记
1、实现多线程的第一种方法:
继承Thread类,重写run()方法
package com.qinayu.thread;
public class TestThread extends Thread{ //继承Thread类
//重写run方法
@Override
public void run() {
for (int i = 0; i < 20; i++) { //20.for即可打印出for循环快捷键
System.out.println("这是run多线程");
}
}
public static void main(String[] args) {
TestThread t1 = new TestThread();
t1.start(); //这属于多线程的执行
//t1.run(); //这属于普通方法的调用
for (int i = 0; i < 200; i++) {
System.out.println("这是main线程");
}
}
}
运行结果:
案例:图片下载
1、下载common.io.jar包
下载地址
无需解压,打开压缩包,复制里面的jar包到项目的lib包中即可
2、在项目src目录下,或自定义包下创建一个lib包,将复制的jar包粘贴到这里,并且,右击lib–>Add as Library…
3、然后就开始编写我们的代码
package com.qinayu.test;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class ImageLoader extends Thread{
//第二步--2
private String url;
private String name;
public ImageLoader(String url,String name){
this.url = url;
this.name = name;
}
@Override
public void run() { //重写run方法
Loader loader = new Loader();
loader.down(url,name);
System.out.println("下载文件:"+name);
}
//第三步--3
public static void main(String[] args) {
//url可以去网上找图片,右击“审查元素”,然后复制链接
ImageLoader imageLoader1 = new ImageLoader("https://p2.ssl.qhimgs1.com/sdr/400__/t0103d18c4382f9b772.jpg","cat1.jpg");
ImageLoader imageLoader2 = new ImageLoader("http://picm.bbzhi.com/dongwubizhi/gaoqingkeaixiaomaomibizhi/gaoqingkeaixiaomaomibizhi_414331_m.jpg ","cat2.jpg");
ImageLoader imageLoader3 = new ImageLoader("http://img.ewebweb.com/uploads/20190531/23/1559315860-AftGbNBrlR.jpg","cat3.jpg");
imageLoader1.start();
imageLoader2.start();
imageLoader3.start();
}
}
class Loader{ //第一步--1
public void down(String url,String name){
try {
//FileUtils:common-io.jar包中自带的工具类
//copyURLToFile:将网页地址保存为一个文件,命名为name
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
e.printStackTrace();
System.out.println("down()方法出现异常");
}
}
}
最终运行结果:
实现多线程的第一种方法暂时就记录到这里,一起努力学习呀!
版权声明:本文为m0_51274044原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。