利用不变性解决并发问题Immutability模式.pdfVIP

  • 0
  • 0
  • 约1.85万字
  • 约 24页
  • 2025-10-28 发布于北京
  • 举报

利用不变性解决并发问题Immutability模式.pdf

28-Immutability模式:如何利用不变性解决并发问题?

我们曾经,“多个线程同时读写同一共享变量存在并发问题”,这里的必要条件之一是读写,如果只有

读,而没有写,是没有并发问题的。

解决并发问题,其实最简单的办法就是让共享变量只有读操作,而没有写操作。这个办法如此重要,以至于

被上升到了一种解决并发问题的设计模式:不变性(

Immutability)模式。所谓不变性,简单来讲,就是对

象一旦被创建,状态就不再发生变化。换句话说,就是变量一旦被赋值,就不允许修改了(没有写操

作);没有修改操作,也就是保持了不变性。

快速实现具备不可变性的类

实现一个具备不可变性的类,还是挺简单的。将一个类所有的属设置成final的,并且只允许存在只读方

法,那么这个类基本上就具备不可变性了。更严格的做法是这个类本身也是final的,也就是不允许继承。因

为子类可以覆盖父类的方法,有可能改变不可变性,所以推荐你在实际工作中,使用这种更严格的做法。

JavaSDK里很多类都具备不可变性,只是由于它们的使用太简单

文档评论(0)

1亿VIP精品文档

相关文档