是这样的,我通过一轮比对后,用STL里的list存下里面的几组数据,总共有100多组吧,这些保存的图形信息,为了不影响效率,我用一个管理线程来专门存储并显示这些buffer,再次进行另一轮比对,又会产生一组数据,要进行n轮比对,也就是循环比对,会产生大量的list,一组一组的取出,用完一组list就释放掉,达到缓冲效果,请问怎么实现呢?只说下具体思路就ok了。
我之前是产生一组处理一组再进行下一轮比对,这样效率太低了,链表都用list存放的。求高手解答。。

解决方案 »

  1.   

    具体的逻辑和顺序都没讲明白,就是要对比。。100多组List数据。最主要的是关联,如果没关联的话。都不用互斥。如果有关联,一层关联用一个CEvent或者Mutex来互斥
      

  2.   

    建议用vector,如果里面的元素反复多次使用,里面的元素用指针,这样效率比较高,减少了临时对象生成时的拷贝构造函数所造成的时间开销。
      

  3.   

    的确建议用Vector,可以随机访问,而且存储效率高。List使用的是双向链表,既然不要频繁插入删除元素,真的有点浪费。
      

  4.   

    我用std::list<buffMgr> buffList; //changed rect buff list
    std::list<std::list<buffMgr>> buffMgrlist; 用的,就是释放的时候怎么弄啊,buffList.clear完后要不要再buffMgrList.pop_front,删除表头有顺序的啊!!