Java DateFormat不是线程安全的----会导致什么问题呢?

java-教程王 Java经验 发布时间:2022-02-14 09:33:08 阅读数:10123 1
下文笔者讲述java中DateFormat不是线程安全的导致相关问题简介说明,如下所示:
在多线程环境下,DateFormat类中不同的方法使用了相同的值
这就方式就导致了DateFormat线程不安全的现象发生,例:

package com.java265.other;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arraylist;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class TestDateFormat {

	public static void main(String[] args) throws Exception, ExecutionException {

	 final DateFormat format = new SimpleDateFormat("yyyyMMdd");

	    Callable<Date> task = new Callable<Date>(){
	        public Date call() throws Exception {
				return format.parse("20220201");
	        }
	    };

		// 定义5个线程
	    ExecutorService exec = Executors.newFixedThreadPool(5);
	    List<Future<Date>> results = new ArrayList<Future<Date>>();

		// date数据转换
	    for(int i = 0 ; i< 10 ; i++){
	        results.add(exec.submit(task));
	    }
	    exec.shutdown();

		// 输出结果
	    for(Future<Date> result : results){
	        System.out.println(result.get());
	    }
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202202/16448024192313.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者