博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 如何使用多线程调用类的静态方法?
阅读量:6281 次
发布时间:2019-06-22

本文共 1357 字,大约阅读时间需要 4 分钟。

 

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是线程安全的,即对任何方法(包括静态方法)都可以不考虑线程冲突,但有一个前提,就是不能存在全局变量。如果存在全局变量,则需要使用同步机制。   

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

 

 

转载地址:http://lhnva.baihongyu.com/

你可能感兴趣的文章
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>
Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
查看>>