Java多线程 Thread:线程创建三种方法、静态代理模式、lambda表达式

本文介绍了Java中线程的创建,包括继承Thread类、实现Runnable接口以及Callable接口的方式,并提供了并发案例。此外,讲解了静态代理模式的基本概念和应用场景,同时提及了Lambda表达式的相关知识。
摘要由CSDN通过智能技术生成

根据目录选择学习!

1、线程Thread、进程Process

  • 进程:正在进行中的程序,一个程序的执行过程
  • 线程:属于进程,指的是一个可以独立运行的代码片段(执行单元、执行路径)
  • 程序是指令和数据的有序集合
  • 一个进程可以有多个线程(至少有一个线程),线程是CPU调用和执行的单位
  • main()主线程,是系统的入口,用于执行整个程序

2、线程创建

法一:继承Thread类

  • 自定义线程类继承Thread类
  • 重写run()方法,编写线程执行体
  • 创建线程对象,调用start()开启线程
public class ThreadDemo1 extends Thread {
   
	// 线程入口点 
    @Override
    public void run() {
   
        // run方法线程体
        for (int i = 0; i < 20; i++) {
   
            System.out.println("我在看代码---" + i);
        }
    }

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

        // 创建一个线程对象
        ThreadDemo1 threadDemo1 = new ThreadDemo1();
        // 调用start()方法开启线程
        threadDemo1.start();

        for (int i = 0; i < 200; i++) {
   
            System.out.println("我在学习多线程---" + i);
        }
    }
}

案例:下载图片

1.写一个下载方法类
2.写一个线程类(继承Thread),重写run()方法(线程执行体)
3.主线程中,start()


import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.net.URL;

// 实现多线程同步下载图片
public class TestThread1 extends Thread {
   
    private String url;
    private String name;

    public TestThread1(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) {
   
        TestThread1 t1 = new TestThread1("https://scpic.chinaz.net/files/pic/pic9/202009/apic27858.jpg", "冬季唯美山水风景图片.jpg");
        TestThread1 t2 = new TestThread1("https://ts1.cn.mm.bing.net/th/id/R-C.df4462fabf18edd07195679a5f8a37e5?rik=FnNvr9jWWjHCVQ&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50059%2f8720.jpg_wh1200.jpg&ehk=ofb4q76uCls2S07aIlc8%2bab3H5zwrmj%2bhqiZ%2fyw3Ghw%3d&risl=&pid=ImgRaw&r=0", "九寨沟山水自然美景.jpg");
        TestThread1 t3 = new TestThread1("https://desk-fd.zol-img.com.cn/t_s960x600c5/g1/M0B/03/06/ChMljl402K6IOTZbAARWayFg6S4AAQJPwFhuRIABFaD752.jpg", "美丽迷人的山水风景图片.jp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值