标签:
问题一:不能确定STL如何管理内存。假设就按照STL默认的方法来管理内容,则服务器在长时间的分配和释放内存后,容易导致内存碎片,对服务器的稳定有影响。然而,如果没有阅读过STL的源码,谁又能确切地得知STL是如何管理内存的呢?虽然可以在STL中使用自己的分配器,又能够确认STL的某些部分不会在分配器之外进行内存分配呢?
当然,内存管理问题不是STL带来的问题,任何服务器程序本身都要考虑这个问题。原因在极少有人去阅读STL的源码,去了解STL的内部实现机理。因为不了解,所以怀疑;因为怀疑,所以不轻易使用。
问题二:不能确定STL在海量数据下的表现。服务器一般都是海量的内存,为了提高性能大量数据保存在内存中。在非常大的规模的数据下,STL一定能够满足稳定性和效率的需求吗?
问题三:不能确定STL在多线程环境下的表现。以上的内存和规模的问题可以通过加深对STL的了解和测试来解决,但是多线程下的并发问题就不是那么容易解决了。STL不是线程安全的,在多线程环境下,对STL容器的操作都要加锁来确保正确。然后,部分高性能的场合,需要对“读-读”条件下并发进行优化,以及某些锁无关的特殊条件可以不加锁,甚至是采用流行的RCU机制…………在这个倡导多核和并发的时代,STL显得有些落后了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/a474711079/article/details/46846231