gpt4 book ai didi

java - 线程安全方法内的线程不安全对象

转载 作者:行者123 更新时间:2023-11-30 06:53:15 27 4
gpt4 key购买 nike

我正在使用这个:

@Override
public synchronized void catchException(String logTag, Exception e) {

StringBuilder trace = new StringBuilder(e.toString() + "\n");

for (StackTraceElement el : e.getStackTrace()) {
trace.append("\t\t at " + el.toString() + "\n");
}

write(logTag, trace.toString(), EXCEPTION);
}

由于 StringBuilder 不是线程安全的,在线程安全的 synchronized 方法中使用它是否安全?我的猜测是,是的,因为 Object 本身是本地的并且在方法内部是线程安全的。

最佳答案

是的,使用 StringBuilder 是安全的,因为它是本地方法,不会转义到任何其他线程。

关于java - 线程安全方法内的线程不安全对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774636/

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