Java多线程编程中不变模式的详解
来源:互联网 发布:矩阵分解 编辑:程序博客网 时间:2024/06/07 14:33
Java多线程编程中,常用的多线程设计模式包括:Future模式、Master-Worker模式、Guarded Suspeionsion模式、不变模式和生产者-消费者模式等。这篇文章主要讲述不变模式,关于其他多线程设计模式的地址如下:
关于Future模式的详解: Java多线程编程中Future模式的详解
关于Master-Worker模式的详解: Java多线程编程中Master-Worker模式的详解
关于Guarded Suspeionsion模式的详解: Java多线程编程中Guarded Suspeionsion模式的详解
关于生产者-消费者模式的详解:生产者-消费者模式Java详解
3. JDK中不变模式的实例
本文完。转载请注明出处。
参考文献
关于Future模式的详解: Java多线程编程中Future模式的详解
关于Master-Worker模式的详解: Java多线程编程中Master-Worker模式的详解
关于Guarded Suspeionsion模式的详解: Java多线程编程中Guarded Suspeionsion模式的详解
关于生产者-消费者模式的详解:生产者-消费者模式Java详解
1. 不变模式的核心思想
在并行开发过程中,为确保数据的一致性和正确性,又必要对对象进行同步,但是同步操作对系统性能有相当的损耗。因此可以使用一种不可改变的对象,依靠其不变形来确保并行操作在没有同步的情况下依旧保持一致性和正确性。
不变模式的使用场景主要包括两个条件:
a. 当对象创建后,其内部状态和数据不再发生任何改变;
b.对象需求被共享、被多线程频繁访问。
2. 不变模式的Java实现
在Java语言中,不变模式的实现很简单,只需要注意一下4点:
a. 去除所有setter方法以及可以修改自身属性的方法;
b. 将所有属性设置为private的,并用final标记,确保其不可修改;
c. 确保没有子类可以继承该类;
d. 有一个可以创建完整对象的构造函数。
下面利用Java代码实现了满足上面4点的不变模式的类:
3. JDK中不变模式的实例
JDK中不变模式的使用也非常广泛。其中最为典型的是java.lang.String,此外还有所有元数据的包装类,如:
java.lang.Double
java.lang.Integer
java.lang.Boolean
等等。
本文完。转载请注明出处。
参考文献
葛一鸣,Java程序性能优化.清华大学出版社.
阅读全文
0 0
- Java多线程编程中不变模式的详解
- Java多线程编程中不变模式的详解
- Java多线程编程中生产者-消费者模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Future模式的详解<转>
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中生产者-消费者模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Master-Worker模式的详解
- Java多线程编程中Future模式的详解
- Java多线程编程中Master-Worker模式的详解
- 二叉树最小深度
- JAVA 网络编程中,输出io方法——printWriter中write()和println()区别
- 关于 WinXP SP2 下的 MIDI 漏洞利用
- A10负载均衡设备基础配置
- 常见损失函数
- Java多线程编程中不变模式的详解
- Android Studio没有自带HttpClinet类库的解决办法
- 见站 建站 见站建站啦
- java垃圾回收之CMS
- 类加载时机
- 2017湘潭赛总结
- 信息安全工程师 学习笔记(三十七)
- docker pull redis
- Java多线程编程中生产者-消费者模式的详解