网上说StringBuffer和StringBuilder的区别是一个线程安全和一个线程不安全
这是只是理论上的结果。我想通过例子说明这两种在线程是否安全
谁能提供一下代码举例说明两者在线程安全上体现啊!
还请大虾赐教

解决方案 »

  1.   

    线程安全主要体现在并发中对同一对象的访问,没有并发就不存在“线程不安全”,如定义一个全局的StringBuffer和StringBuilder对象,启动N个多线程分别对这两个对象进行操作,那么此时StringBuffer对象是安全的,StringBuilder对象是不安全的。
    如果你只是在一个线程中操作这两个对象,那么这两个对象都是安全的并且StringBuilder还更高效。
    不安全表现在如计算错误,正常的输入得不到一个正确的输出等。
      

  2.   

    学过线程吧?buffer相当编译器自动给每个stringbuffer的方法添加了一个sychronized关键字,Stringbuilder没有自动加。