首页 > 编程语言 > 详细

Java简单实现多线程——继承thread类

时间:2020-09-13 10:46:56      阅读:67      评论:0      收藏:0      [点我收藏+]

简单模拟多线程,异步调用

package com.cl.demo01;


//创建线程方式一;继承Thread类,重写run()方法,调用start开启线程
public class TestThread1 extends Thread{
    @Override
    public void run() {
        //run方法线程体
        for (int i = 0; i <100; i++) {
            System.out.println("run方法--"+i);
        }
    }

    public static void main(String[] args) {
        //main线程,主线程

        TestThread1 thread1 = new TestThread1();

        thread1.start();

        for (int i = 0; i <100; i++) {
            System.out.println("多线程--"+i);
        }
    }
}

/*
总结:注意,线程开启不一定立即执行,由cpu调度执行
* */

练习Thread,实现多线程同步下载图片

注意,在实现前,需去官网下载“commons io.jar”这个jar包,因为要利用里面的工具去实现;

package com.cl.demo01;

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 t1 = new TestThread2("https://pic.cnblogs.com/avatar/2053539/20200904094641.png","th1");
        TestThread2 t2 = new TestThread2("https://pic.cnblogs.com/face/1959021/20200303171942.png","th2");
        TestThread2 t3 = new TestThread2("https://pic.cnblogs.com/face/2124548/20200820122225.png","th3");

        t1.start();
        t2.start();
        t3.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方法出现问题");

        }
    }
}

成功截图:注,为什么不是安123顺序下载的?

     答,因为这个是模拟的多线程方法实现的

技术分享图片

 

Java简单实现多线程——继承thread类

原文:https://www.cnblogs.com/CL-King/p/13660365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!