以下为ACE源码中的中文解释:

单体,是指在整个应用中必须唯一存在的一类对象,比如全局的某个管理类等等。这是在应用程序中比较重要的一类应用,自己写很容易顾此失彼。ACE中提供了这种实现。非常实用,强大。

例子:
如果你有这样的应用,一个类要在整个应用程序中只有一个实例,那么ACE中的ACE_Singleton就是再适合不过的实现方式了。
例如:一个类
class CLogProcessor
{
public:
           CLogProcessor();
           ~CLogProcessor(); 
public:
             int fun1();
             int fun2();
};

在程序的任何一处:均可获得CLogProcessor的唯一实例
CLogProcessor* ptm = ACE_Singleton< CLogProcessor, ACE_Recursive_Thread_Mutex >::instance();

当然了,也包括在在主程序中导入或静态链接入的DLL中,同样可获得这个类的唯一实例。但是这个DLL可能提前于主程序卸载的话。就要使用ACE_Unmanaged_Singleton了。

注意参考源码中的集中Thread_Mutex