您当前的位置: 首页 >  Java

科技D人生

暂无认证

  • 0浏览

    0关注

    1550博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java基础学习总结(162)——如何保证线程安全?

科技D人生 发布时间:2020-10-09 09:43:23 ,浏览量:0

一.无状态

我们都知道只有多个线程访问公共资源的时候,才可能出现数据安全问题,那么如果我们没有公共资源,是不是就没有这个问题呢?

public class NoStatusService {
    public void add(String status) {
        System.out.println("add status:" + status);
    }    public void update(String status) {
        System.out.println("update status:" + status);
    }}
二.不可变

如果多个线程访问公共资源是不可变的,也不会出现数据的安全性问题。

public class NoChangeService {
    public static final String DEFAULT_NAME = "abc";
    public void add(String status) {
        System.out.println("add status:" + status);
    }}
三.安全的发布

如果类中有公共资源,但是没有对外开放访问权限,即对外安全发布,也没有线程安全问题

public class SafePublishService {
    private String name;
    public String getName() {
        return name;
    }    public void add(String status) {
   
关注
打赏
1662604032
查看更多评论
立即登录/注册

微信扫码登录

0.0443s