使用ThreadLocal是不是还是没有解决实例化多个对象的问题?

来源:4-6 路径梳理

精慕门9269272

2020-08-11

比如ThreadLocalNormalUsage03类中打印了1000个日期任务,用的是一个时间格式化对象,解决了ThreadLocalNormalUsage02中实例多个时间格式化对象的问题。ThreadLocalNormalUsage04类中加锁来解决ThreadLocalNormalUsage03类中只使用一个时间格式化对象的线程安全问题,但是没有解决并行执行的问题,效率低。ThreadLocalNormalUsage05利用ThreadLocal解决ThreadLocalNormalUsage04的线程安全问题,提高效率,但还是每个线程实例化了一个日期格式对象?

写回答

1回答

悟空

2020-08-12

每个线程一个独立对象,这是合理的

0
2
悟空
回复
小布鲁斯韦恩
1.是每个线程一个SimpleDateFormat对象,不是每个任务。 2.工具类可以不remove,因为工具类随时都可能使用 3.主要还是为了保证SimpleDateFormat的线程安全性。如果是全局线程安全,那么可以用static的
2020-09-04
共2条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程