线程本地资源泄漏和弱引用
2022-09-02 11:27:11
我对ThreadLocal的有限理解是它有资源泄漏问题。我认为这个问题可以通过在ThreadLocal中正确使用弱引用来补救(尽管我可能误解了这一点)。我只是想得到一个模式或示例,用于正确使用带有弱引用的ThreadLocal,如果存在的话。例如,在此代码片段中,将在哪里引入弱引用?
static class DateTimeFormatter {
private static final ThreadLocal<SimpleDateFormat> DATE_PARSER_THREAD_LOCAL = new ThreadLocal<SimpleDateFormat>() {
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("yyyy/MM/dd HH:mmz");
}
};
public String format(final Date date) {
return DATE_PARSER_THREAD_LOCAL.get().format(date);
}
public Date parse(final String date) throws ParseException
{
return DATE_PARSER_THREAD_LOCAL.get().parse(date);
}
}