小编Ben*_*Ben的帖子

Java StringBuilder和线程安全

我正在从多个部分构建一个字符串,并希望使用其中任何一个StringBufferStringBuilder这样做.从Java 5文档中,我发现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();
}
Run Code Online (Sandbox Code Playgroud)

这里函数中可能同时存在多个线程,同时使用StringBuilder类(例如,静态变量的并发访问,如果有的话),但每个线程都有自己独立的实例StringBuilder.从文档中,我无法确定这是否算作多线程的使用.

java stringbuilder multithreading thread-safety

14
推荐指数
3
解决办法
2万
查看次数