StringBuffer是线程安全吗?我有例子说它不是安全的。
public class StringBufferTest { private StringBuffer contents = new StringBuffer(); public void log(String message){ contents.append(System.currentTimeMillis()); contents.append("; "); contents.append(Thread.currentThread().getName()); for(int i=0;i<10000;i++){ contents.append(i); contents.append(message); contents.append("\n"); } contents.append("\n\n\n"); } public void getContents(){ System.out.println(contents); }}class RunThread extends Thread{ String message; StringBufferTest buffer; public RunThread(StringBufferTest buffer, String message){ this.buffer = buffer; this.message = message; } public void run(){ while(true){ buffer.log(message); buffer.getContents(); } } public static void main(String[] args) { StringBufferTest ss = new StringBufferTest(); new RunThread(ss, "love").start(); new RunThread(ss, "make").start(); new RunThread(ss, "you").start(); }}