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

 更新时间:2020年10月24日 10:24:16   作者:Marydon  
这篇文章主要介绍了Java 使用多线程调用类的静态方法的示例,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下

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();
    }
}

  执行结果

以上就是Java 使用多线程调用类的静态方法的示例的详细内容,更多关于Java 多线程调用静态方法的资料请关注脚本之家其它相关文章!

相关文章

  • Java实现酒店客房管理系统

    Java实现酒店客房管理系统

    这篇文章主要为大家详细介绍了Java实现酒店客房管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 使用Spring MVC拦截器实现日志记录的方法

    使用Spring MVC拦截器实现日志记录的方法

    本篇文章主要介绍了使用Spring MVC拦截器实现日志记录的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 深入理解Java垃圾回收机制以及内存泄漏

    深入理解Java垃圾回收机制以及内存泄漏

    下面小编就为大家带来一篇深入理解Java垃圾回收机制以及内存泄漏。小编觉得挺不错的,现在就分享给大家,也给的大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • springboot 如何修改默认端口及application.properties常用配置

    springboot 如何修改默认端口及application.properties常用配置

    这篇文章主要介绍了springboot 如何修改默认端口及application.properties常用配置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot使用@ControllerAdvice全局异常处理

    SpringBoot使用@ControllerAdvice全局异常处理

    这篇文章主要介绍了SpringBoot使用@ControllerAdvice全局异常处理,异常处理是非常重要的一部分,它可以帮助我们捕获并处理应用程序中出现的异常情况,提高应用程序的健壮性和可靠性,需要的朋友可以参考下
    2023-07-07
  • 深入JAVA对象深度克隆的详解

    深入JAVA对象深度克隆的详解

    本篇文章是对JAVA对象深度克隆进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • maven搭建spring项目(图文教程)

    maven搭建spring项目(图文教程)

    下面小编就为大家带来一篇maven搭建spring项目(图文教程)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Spring的@Transactional嵌套解读

    Spring的@Transactional嵌套解读

    本文通过详细测试,探究了Spring的@Transactional注解在事务嵌套和局部回滚场景下的行为表现,文中通过多个测试案例,阐述了不同传播行为(如REQUIRES_NEW)对事务嵌套处理的影响,以及rollbackFor属性在异常管理中的作用和限制,通过实验总结
    2024-11-11
  • 关于mybatis遇到Integer类型的参数时动态sql需要注意条件

    关于mybatis遇到Integer类型的参数时动态sql需要注意条件

    这篇文章主要介绍了关于mybatis遇到Integer类型的参数时动态sql需要注意条件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • java实现留言板功能实例

    java实现留言板功能实例

    这篇文章主要为大家详细介绍了JSP+JavaBean的留言板技术 ,JavaWeb登陆功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论