为了账号安全,请及时绑定邮箱和手机立即绑定

什么是线程安全?为什么会性能高?

如题。

正在回答

2 回答

1: 线程安全是指:多个线程同时操作数据对象(变量)时,结果和单个线程一样。例如:

String a = "aaa";

同时开两个线程操作a:

线程1:
b = a.append("bb");

线程2:
c = a.append("cc");
线程安全的结果是:b = aaabb   c=aaabbcc;
非线程安全的结果是: b= aaabb   c=aaacc;        


2: 线程安全一般是以加锁为代价换取的,即:当一个线程操作时把对象锁住、等它操作完毕后再让其它线程操作(实际中有一些更好的实现,但大体原理如此)。而非线程安全就不需要考虑这种情况,所以性能会高一些。

3 回复 有任何疑惑可以回复我~
#1

初级学习号

你的对线程安全是不完善的,非线程安全的结果具有未知性。非线程安全的其中一种结果是: b= aaabb c=aaacc;其中一种结果也可能是b = aaabb c=aaabbcc;具体请参考http://www.imooc.com/view/202?src=sugc
2015-06-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

什么是线程安全?为什么会性能高?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信