美文网首页
Copy-on-Write模式

Copy-on-Write模式

作者: woshishui1243 | 来源:发表于2019-12-02 16:16 被阅读0次

Copy-on-Write,经常被缩写为 COW 或者 CoW,顾名思义就是写时复制。

Copy-on-Write 模式的应用领域

JAVA SDK的并发容器中,CopyOnWriteArrayList 和 CopyOnWriteArraySet 这两个 Copy-on-Write 容器,它们背后的设计思想就是 Copy-on-Write;通过 Copy-on-Write 这两个容器实现的读操作是无锁的,由于无锁,所以将读操作的性能发挥到了极致。

类 Unix 的操作系统中创建进程 的 API 是 fork(),传统的 fork() 函数会创建父进程的一个完整副本。而 Linux 中的 fork() 函数就聪明得多 了,fork() 子进程的时候,并不复制整个进程的地址空间,而是让父子进程共享同一个地址 空间;只用在父进程或者子进程需要写入的时候才会复制地址空间,从而使父子进程拥有各 自的地址空间。
本质上来讲,父子进程的地址空间以及数据都是要隔离的,使用 Copy-on-Write 更多地体 现的是一种延时策略,只有在真正需要复制的时候才复制,而不是提前复制好,同时 Copy-on-Write 还支持按需复制,所以 Copy-on-Write 在操作系统领域是能够提升性能的

很多其他领域也都能看到 Copy-on-Write 的身影:Docker 容器镜像的设计是 Copy-on-Write,甚至分布式源码管理系统 Git 背后 的设计思想都有 Copy-on-Write...
不过,Copy-on-Write 最大的应用领域还是在函数式编程领域。函数式编程的基础是不可 变性(Immutability),所以函数式编程里面所有的修改操作都需要 Copy-on-Write 来解决。

相关文章

  • 并发设计模式

    避免共享:Immutability模式、Copy-on-Write模式、Thread-Local-Storage模...

  • Copy-on-Write模式

    Copy-on-Write,经常被缩写为 COW 或者 CoW,顾名思义就是写时复制。 Copy-on-Write...

  • COW模式

    COW就是Copy-on-Write方法,写时复制。当然COW的应用领域并不局限于Immutability模式。 ...

  • 代理模式(Proxy)

    代理模式:为其他对象提供一种代理以控制对这个对象的访问。 类型 结构型 用途 隐藏 Copy-On-Write 区...

  • fork 进程测试 copy-on-write

    父进程 fork 子进程后,子进程通过 copy-on-write 模式获得父进程内存,也就是子进程共用了大部分父...

  • java容器——CopyOnWriteArrayList/Set

    夯实基础系列:基础是否扎实,决定你是否能走的更稳更远。 Copy-On-Write Copy-On-Write(C...

  • 3.Java并发编程:并发容器之CopyOnWriteArray

    聊聊并发-Java中的Copy-On-Write容器 Copy-On-Write简称COW,是一种用于程序设计中的...

  • Exchanger使用

    生成器: Copy-On-Write思想

  • CopyOnWriteArrayList 学习笔记

    CopyOnWrite WIKI Copy-on-write (CoW or COW), sometimes re...

  • Copy-On-Write

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容...

网友评论

      本文标题:Copy-on-Write模式

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