Java 使用多线程调用类的静态方法的示例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java 使用多线程调用类的静态方法的示例

Marydon   2020-10-24 我要评论

1.情景展示

  静态方法内部实现:将指定内容生成图片格式的二维码;

  如何通过多线程实现?

2.分析

  之所以采用多线程,是为了节省时间 

3.解决方案

  准备工作

  logo文件  

  将生成的文件保存在F盘test目录下

  代码实现

/**
 * 多线程测试类
 * @explain 生成图片格式的二维码采用多线程实现
 * @author Marydon
 * @creationTime 2018年11月23日下午3:15:39
 * @version 1.0
 * @since
 * @email marydon20170307@163.com
 */
public class MultiThreadTest implements Runnable {
 
    // 私有属性:线程名称
    private String threadName;
    // 有参构造方法
    public MultiThreadTest(String threadName) {
        this.threadName = threadName;
    }
     
    /**
     * 线程启动后,将要执行的操作
     */
    @Override
    public void run() {
        // 二维码内容
        String data = "";
        // 图片名称
        String fileName = "";
        // 二维码的logo
        File logoFile = new File("d:/ewm.jpg");
        // 线程启动后,执行100次
        for(int i = 0; i < 100; i++) {
            data = threadName + "Marydon" + i;
            fileName = threadName + "博客园" + i;
            // 生成二维码
            BufferedImage image = QRcodeUtils.createQRCodeWithLogo(data, logoFile);
            // 创建图片文件(二维码)
            File qrcodeFile = new File("f:/test/" + fileName + ".jpg");
            // 以流的形式写入到该文件中
            ZxingQrcode.writeToFile(image, qrcodeFile);
        }
        System.out.println(threadName + "执行结束!");
    }
 
}

  测试:依次启动100个线程,每个线程生成100个图片

public static void main(String[] args) {
    // 依次启动100个线程
    for (int i = 1; i <= 100; i++) {
        new Thread(new MultiThreadTest("线程" + i)).start();
    }
}

  执行结果

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们