gpt4 book ai didi

java - Java 中的线程局部变量与局部变量

转载 作者:行者123 更新时间:2023-11-29 03:12:08 26 4
gpt4 key购买 nike

我们不能使用线程安全的局部变量而不是 ThreadLocal。以及使用 ThreadLocal 的位置。请引用一些真实的应用例子。

最佳答案

一个典型的例子是SimpleDateFormat,它不是线程安全的。在多线程上下文中,有两个线程安全选项,其中包括:

private static ThreadLocal<SimpleDateFormat> fmtHolder = new ThreadLocal<SimpleDateFormat>() {
@Override protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("dd/MM/yyyy");
}
};

private void method() {
SimpleDateFormat fmt = fmtHolder.get();
}

或使用本地实例:

private void method() {
SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy");
}

前者效率更高,后者更易于阅读和推理。

关于java - Java 中的线程局部变量与局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com