2
我使用这个:线程不安全的对象
@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
不是线程安全的,它是安全的它的线程安全的,方法中使用?我的猜测是,它是,因为对象本身在本地和线程安全的方法。
你的方法是线程安全的,因为它是同步的,并且由于变量是本地的,所以其他线程无法访问除当前执行该方法的线程之外的局部变量。 – SomeDude
“线程安全”意味着该对象可以同时被_two或more_线程安全地使用。在您的示例中,没有可能让StringBuilder被多个线程使用。 –