java中的线程安全是什么
1、1.不可变。只要一个不可变的对象被创建出来,其外部可见状态永远不会改变,永远不会在多个线程之间看到不同的状态。不可变带来的安全性是最简单纯粹的。在java语言中如果共享数据是一个基本数据类型。只要在定义的时候使用final即可。
2、如果是一个对象:例如String,它调用subString,replace等方法,对它本身没有影响,生成一个新的字符串。
3、使用Synchronization实现线程安全,jdk1.5之前的版本多线程的情况下吞吐量下降的特别块。可以使用ReentrantLock,但是在j颊俄岿髭dk1.6之后性能基本差不多。所以推荐jdk1.6之后使用Synchronization。在未来的性能改造中也会更加偏向原生的synchronization。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:85
阅读量:54
阅读量:71
阅读量:76
阅读量:65