public class test04 { public static void main(String[] args) throws Exception { // 线程不安全 // StringBuilder sb = new StringBuilder();
// 线程安全 StringBuffer sb = new StringBuffer();
// 方式1: 通过继承Threa类
// 线程1 Thread t1 = new Thread() { @Override public void run() { sb.append("ABCDE"); } };
// 方式2:通过实现Runnable接口 // 线程2 Thread t2 = new Thread(new Runnable() { @Override public void run() { sb.append("abcde");
}});
// 方式3 : 通过实现Callable接口 // 线程3 Thread t3 = new Thread( new FutureTask<String>( new Callable<String>() { @Override public String call() throws Exception{ sb.append("12345");