写时复制

  1. 写时复制

写时复制

写时复制(Copy on Write,也缩写为COW)的应用场景非常多, 比如Linux中对进程复制中内存使用的优化,在各种编程语言中,如C++的STL等等中均有类似的应用。 COW是常用的优化手段,可以归类于:资源延迟分配。只有在真正需要使用资源时才占用资源, 写时复制通常能减少资源的占用。

在开始之前,我们可以先看一段简单的代码:

<?php   //例一
    $foo = 1;
    $bar = $foo;
    echo $foo + $bar;
?>

执行这段代码,会打印出数字2。从内存的角度来分析一下这段代码“可能”是这样执行的: 分配一块内存给foo变量,里面存储一个1; 再分配一块内存给bar变量,也存一个1,最后计算出结果输出。 事实上,我们发现foo和bar变量因为值相同,完全可以使用同一块内存,这样,内存的使用就节省了一个1, 并且,还省去了分配内存和管理内存地址的计算开销。 没错,很多涉及到内存管理的系统,都实现了这种相同值共享内存的策略:写时复制

详情参考


转载请注明来源,欢迎指出任何有错误或不够清晰的表达。

文章标题:写时复制

文章字数:323

本文作者:猿码记

发布时间:2016-10-20 15:21

原始链接:liuqh.icu/2016/10/20/写时复制/

版权声明: 转载请保留原文链接及作者。

目录
×

看您心情~~