实现多线程1--继承Thread类,重写run()方法

多线程笔记
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版权协议,转载请附上原文出处链接和本声明。