Dee*_*p-B 5 c++ heap memory-management stdvector
我一直在编写一个用于数据库访问的多线程DLL,使用ADO/ODBC与遗留应用程序一起使用.我需要为每个线程保留多个数据库连接,因此我将每个连接的ADO对象放在一个对象中,并考虑将它们的数组保存在自定义的threadInfo对象中.显然,矢量在这里会更好 - 我需要在移动中删除/重新排列对象,矢量会简化它.问题是,我为每个线程分配一个堆,以避免堆争用和东西,并从那里分配我的所有内存.
所以我的问题是:如何从特定于线程的堆中进行向量分配?(或者它会在内部知道从同一堆中分配内存作为其包装类 - 听起来不太可能,但我不是C++人员)我已经google了一下,看起来我可能需要编写一个分配器或者其他东西 - 这看起来像我不想要的那么多工作.还有其他方法吗?我听说过vector可以使用placement-new来处理所有内容,所以可以重载operator new吗?
我对C++内部的知识缺乏帮助,因为我主要是一个C程序员(甚至相对而言).我很可能在某个地方缺少基本的东西.如果没有什么比这更容易了 - 我可能只是去做阵列的事情,但希望它不会那样.
我正在使用MS-VC++ 6.0(嘿,笑起来很粗鲁!:-P).
任何/所有帮助将不胜感激.
归档时间: |
|
查看次数: |
701 次 |
最近记录: |