|   | The Official Resource Management Page
 IntroductionI 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’t had a problem like this for many years. No, I’m not programming in Java. So what’s the secret? It’s called "Resource Management."
 There is a product on the market, the Microsoft Index Server™, which was written using this methodology. It’s 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.
 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. 
 
 
Resources
Smart Pointers
Resource Transfer
Strong Vectors
Example
 
 |