|
The Official Resource Management Page
Introduction
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’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
|