Java StringBuilder 和 Thread Safety
2022-09-03 16:56:31
我正在从多个部分中构建一个字符串,并希望使用其中之一或这样做。从Java 5文档中,我看到在可能的情况下这是首选,但需要注意的是StringBuffer
StringBuilder
StringBuilder
的实例对于多个线程使用是不安全的。
StringBuilder
从这个语句中,我明白我不应该有一个由多个线程共享的单个实例。但是这个案例呢:StringBuilder
//Is this safe?
//foo() is called simultaneously by multiple threads
String foo(String a, String b) {
return new StringBuilder(a).append(b).toString();
}
在这里,函数中可以同时有多个线程,同时使用类(例如,静态变量的并发访问,如果有的话),但每个线程都有自己单独的实例。从文档中,我无法完全确定这是否算作多个线程的使用。StringBuilder
StringBuilder