编程语言
首页 > 编程语言> > Java的线程介绍

Java的线程介绍

作者:互联网

方法调用和多线程

Process与Thread

本章核心概念

线程的创建

package com.kuang.demo;
//创建线程方式一: 继承Thread类、重写run方法、调用start开启线程
public class StartThread extends Thread{
   //线程入口点
   @Override
   public void run(){
       //run方法线程体
       for(int i=0; i < 20; i++){
           System.out.println("lisening");
      }
  }
}
public static void main(String[] args){
   //main主线程内创建线程对象
   StartThread t = new StartThread();
   //调用start方法开启线程,记住不是调用run方法!用start就会交替执行,是多线程的概念,用run就是顺序执行单线程了。
   t.start();
}
package com.kuang.demo;

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习 Thread 实现多线程同步下载图片
public class TestThread extends Thread{
   private String url; //网络图片地址
   private String name; //保存的文件名
   //用构造器丢入两个参数,类初始化就直接用。
   public TestThread(String url, String name){
       this.url = url;
       this.name = name;
  }
   
   @Override //run()方法就是下载图片线程的执行体
   public void run(){
       WebDownloader webDownloader = new WebDownloader();
       webDownloader.downloader(url, name);
       System.out.println("下载的文件名为:" + name);
  }
   
   public static void main(String[] args){
       TestThread t1 = new TestThread("http://blog.kuangstudy.com/......", "why1.jpg");
       TestThread t2 = new TestThread("http://blog.kuangstudy.com/......", "why2.jpg");
       TestThread t3 = new TestThread("http://blog.kuangstudy.com/......", "why3.jpg");
       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方法出现问题");
      }
  }
}

 

标签:Java,name,介绍,start,线程,run,public,TestThread
来源: https://www.cnblogs.com/Awa1097/p/15530067.html