高并发下才会出现异常 private static final ThreadLocal<DateFormat> df = new ThreadLocal<DateFormat>() { @Override protected DateFormat initialValue() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } }; public static void main(String[] ages) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = Calendar.getInstance(); ExecutorService executorService = Executors.newFixedThreadPool(15); for (int i = 0; i < 500; i++) { executorService.execute(() -> { try { System.out.println(sdf.format(calendar.getTime())); System.out.println(df.get().parse("2019-06-15 16:35:20")); } catch (Exception e) { e.printStackTrace(); } }); } executorService.shutdown(); }
ThreadLocal 对 SimpleDateFormat的高并发线程安全问题使用
最新推荐文章于 2023-08-26 02:30:00 发布