📄 index-12.htm
字号:
<HTML>
<HEAD>
<TITLE>Strong Pointers and Resource Management in C++</TITLE>
<link rel="stylesheet" href="rs-1.css" tppabs="http://www.relisoft.com/resource/rs.css">
</HEAD>
<body background="margin-1.gif" tppabs="http://www.relisoft.com/resource/images/margin.gif" bgcolor="#FFFFDC">
<!-- Main Table -->
<table cellpadding="6">
<tr>
<td width="78" valign="top">
<a href="index-11.htm" tppabs="http://www.relisoft.com/index.htm">
<img src="rsbullet.gif" tppabs="http://www.relisoft.com/images/rsbullet.gif" alt="RS" border=0 width=39 height=39>
</td>
<td width="600">
<h3>The Official Resource Management Page</h3>
<hr>
<h3>Introduction</h3>
<p>I keep hearing horror stories from fellow programmers about memory leaks, double deletions, unreleased resources, files that are never closed and deadlocks caused by unreleased mutexes. Frankly, I haven抰 had a problem like this for many years. No, I抦 not programming in Java. So what抯 the secret? It抯 called "Resource Management."
<p>There is a product on the market, the Microsoft Index Server™, which was written using this methodology. It抯 a large and complex piece of software that includes its own special-purpose concurrently accessible transactional database. Having been involved in that project from the very beginning as an architect and a programming lead, I could argue that without Resource Management the Index Server would have never seen the light of day. Resource Management helped us tremendously in balancing a whole multitude of indexes that were accessed concurrently by a number of query threads and at the same time updated with new data coming from the file system.
<p>After leaving Microsoft, I made it one of my goals not only to use Resource Management in all my future projects, but also to make it available to the C++ community through publications, conferences and a dedicated web site.
<hr>
<ol>
<li><a href="javascript:if(confirm('http://www.relisoft.com/resource/resource.html \n\nThis file was not retrieved by Teleport Pro, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \n\nDo you want to open it from the server?'))window.location='http://www.relisoft.com/resource/resource.html'" tppabs="http://www.relisoft.com/resource/resource.html">Resources</a>
<li><a href="javascript:if(confirm('http://www.relisoft.com/resource/smartptr.html \n\nThis file was not retrieved by Teleport Pro, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \n\nDo you want to open it from the server?'))window.location='http://www.relisoft.com/resource/smartptr.html'" tppabs="http://www.relisoft.com/resource/smartptr.html">Smart Pointers</a>
<li><a href="javascript:if(confirm('http://www.relisoft.com/resource/transfer.html \n\nThis file was not retrieved by Teleport Pro, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \n\nDo you want to open it from the server?'))window.location='http://www.relisoft.com/resource/transfer.html'" tppabs="http://www.relisoft.com/resource/transfer.html">Resource Transfer</a>
<li><a href="javascript:if(confirm('http://www.relisoft.com/resource/vectors.html \n\nThis file was not retrieved by Teleport Pro, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \n\nDo you want to open it from the server?'))window.location='http://www.relisoft.com/resource/vectors.html'" tppabs="http://www.relisoft.com/resource/vectors.html">Strong Vectors</a>
<li><a href="javascript:if(confirm('http://www.relisoft.com/resource/topsort.html \n\nThis file was not retrieved by Teleport Pro, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \n\nDo you want to open it from the server?'))window.location='http://www.relisoft.com/resource/topsort.html'" tppabs="http://www.relisoft.com/resource/topsort.html">Example</a>
</ol>
<hr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -