copy on write

Posted blog-yejy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了copy on write相关的知识,希望对你有一定的参考价值。

 1 yl::string CBaseAutopProcessor::AddAuthorizedInfo(const yl::string & strOriginalUrl,
 2         const yl::string & strUserName, const yl::string & strPassword)
 3 {
 4     yl::string strUrl = strOriginalUrl;//cow exist error
 5 
 6     if (strOriginalUrl.empty()
 7             || strUserName.empty())
 8     {
 9         return strUrl;
10     }
11 
12     char * pBuf = (char *) strUrl.c_str();
13     char * pTemp = NULL;
14     if ((pTemp = strstr(pBuf, "://")) != NULL)
15     {
16         *pTemp = ;  //cow will cause strUrl and strOriginalUrl change
17         pTemp += 3;
18 
19         // 加入用户名和密码
20         char bufURL[512] = {0};
21         sprintf(bufURL, "%s://%s:%[email protected]%s", pBuf, strUserName.c_str(), strPassword.c_str(), pTemp);
22         strUrl = bufURL;
23     }
24 
25     return strUrl;
26 }

 

以上是关于copy on write的主要内容,如果未能解决你的问题,请参考以下文章

C++:Copy-On-Write技术以及string类的模拟实现

Swift 多线程环境中的 Copy-on-Write

Copy on write 机制

利用“Copy-on-Write”将数据复制到Multiprocessing.Pool()工作进程

MongoDB Wiredtiger存储引擎实现原理——Copy on write的方式管理修改操作,Btree cache

Linux写时拷贝技术(copy-on-write)