美文网首页Java程序性能优化
并行模式之不变模式

并行模式之不变模式

作者: Chinesszz | 来源:发表于2017-07-15 22:53 被阅读3次

1. 不变模式的核心思想

在并行开发过程中,为确保数据的一致性和正确性,又必要对对象进行同步,但是同步操作对系统性能有相当的损耗。因此可以使用一种不可改变的对象,依靠其不变形来确保并行操作在没有同步的情况下依旧保持一致性和正确性。

不变模式的使用场景主要包括两个条件:

  • a. 当对象创建后,其内部状态和数据不再发生任何改变;
  • b.对象需求被共享、被多线程频繁访问。

2. 不变模式的Java实现

在Java语言中,不变模式的实现很简单,只需要注意一下4点:

  • a. 去除所有setter方法以及可以修改自身属性的方法;
  • b. 将所有属性设置为private的,并用final标记,确保其不可修改;
  • c. 确保没有子类可以继承该类;
  • d. 有一个可以创建完整对象的构造函数。
public final class Product { //final可以确保不会被继承
    private final String a;  //private确保不可被访问,final确保不可被修改
    private final String b;
    private final double c;

    public Product(String a, String b, double c) {
        //创建对象时必须指定值,因为创建后将无法修改
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public String getA() {
        return a;
    }

    public String getB() {
        return b;
    }

    public double getC() {
        return c;
    }
}


相关文章

  • 并行模式之不变模式

    1. 不变模式的核心思想 在并行开发过程中,为确保数据的一致性和正确性,又必要对对象进行同步,但是同步操作对系统性...

  • 并行模式之Future模式

    理论 所谓 future 模式就是将任务提交给后台线程,然后主线程继续进行其他任务,当调用任务返回数据的时候,如果...

  • 并行模式之Future模式

    Future模式是多线程中常见的设计模式,其核心思想是异步调用。当需要调用一个函数时,如果这个函数执行很慢就需要进...

  • SHELL并发编程

    SHELL的并行编程:通过启用多个并行的后台子进程,实现任务的并行处理。 并发编程的模式: 简单模式 批处理模式 ...

  • 《JAVA与模式》之不变模式

    在阎宏博士的《JAVA与模式》一书中开头是这样描述不变(Immutable)模式的: 一个对象的状态在对象被创建之...

  • String

    三大核心机制 不变性、常量池优化、final 不变性:是一个immutable(不变模式)模式的对象,不变模式的主...

  • Java多线程--并行模式与算法

    Java多线程--并行模式与算法 单例模式 虽然单例模式和并行没有直接关系,但是我们经常会在多线程中使用到单例。单...

  • Master-Worker模式

    是常用的并行模式之一。

  • java函数编程笔记

    他的特性:函数作为一等公民无副作用引用透明申明式的(Declarative)不变模式易于并行更少的代码引用透明易于...

  • Java程序员福音!阿里最新产物分布式小册:存储+计算+通信+资

    分布式从单机模式到数据并行(也叫作数据分布式)模式,再到任务并行(也叫作任务分布式)模式。分布式其实就是将相同或相...

网友评论

    本文标题:并行模式之不变模式

    本文链接:https://www.haomeiwen.com/subject/jcgzhxtx.html