首页 > 编程语言 > 详细

关于表示泄露和线程安全

时间:2020-07-11 22:05:41      阅读:185      评论:0      收藏:0      [点我收藏+]

表示泄露:

1. 类的属性参数要保证外部类不可访问,否则可以修改,如果不存在需要修改的需求,则将属性参数定义为private final

2. 在遇到get函数时,需要注意不能直接返回类中参数的直接引用,否则外部调用get函数后,即可更改本来的类里面的变量,应该用return new该变量类型的形式进行返回

3.在遇到set函数时,也需要注意2中提到的点,因为如果一个调用set后,便更改了原有的参数值,导致原有的参数值丢失。

关于线程安全:

1.限制数据共享,尽量不要共享数据

2.如果一定要共享,共享不可变数据类型

3.如果一定要共享可变类型数据,则用线程安全的可变数据

4. 即使用线程安全的可变数据类型也不能保证线程安全,例如list中调用remove函数和判断是否为空的函数,就会出现交错的现象,这个时候可以给需要保证单线程的部分上锁

这里要注意的是 如果要两个部分先后进行,必须要要给这两个部分上相同的锁,否则也是线程不安全的。

 

关于表示泄露和线程安全

原文:https://www.cnblogs.com/benecho/p/13285542.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!