栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

多线程设计模式之二式 不可变模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多线程设计模式之二式 不可变模式

多线程问题的痛点

呃 什么是多线程的问题的通电,多线程虽然效率高上去了很多,可以对cpu进行充分的压榨,但是多线程的一个比较大的问题就是关于可变共享变量的修改问题, 原因就是在于我们的设计流程里有多个线程对共享变量的修改操作,所以这个时候就得用锁保证安全性,而用锁又降低了多线程的效率,所以我们大概有三种方式把锁消除:cas, 写时复制,设计流程的时候尽量避免多线程访问共享变量,即可以把共享变量设计为不可变,比如final修饰

设计不可变变量的方法 final修饰属性 private修饰熟悉, 且不提供set方法 示例
public class ShareImmutable {
    
    private final String name;
    
    public ShareImmutable(String name) {
        this.name = name;
    }
}
jdk中的示例

String

public final class String
    implements java.io.Serializable, Comparable, CharSequence {
    
    private final char value[];

    
    private int hash; // Default to 0

    
    private static final long serialVersionUID = -6849794470754667710L;

    
    private static final ObjectStreamField[] serialPersistentFields =
        new ObjectStreamField[0];

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号