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 如何使用多线程调用类的静态方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。