1.线程池的引入 引入的好处: 1)提升性能。创建和消耗对象费时费CPU资源 2)防止内存过度消耗。控制活动线程的数量,防止并发线程过多。 使用条件: 假设在一台服务器完成一项任务的时间为T T1 创建线程的时间 T2 在线程中执行任务的时间,包括线程间同步所需时间 T3 线程销毁的时间 ...
分类:
移动开发 时间:
2014-07-21 09:37:03
阅读次数:
227
前言经过不断的坚持和努力,ENode 2.0的第一个真实案例终于出来了。这个案例是一个简易的论坛,开发这个论坛的初衷是为了验证用ENode框架来开发一个真实项目的可行性。关于ENode是什么,本文就不多介绍了,可以参考这篇文章的介绍。本文重点介绍一下ENode是如何帮助我们开发一个基于DDD+CQR...
分类:
其他好文 时间:
2014-07-21 09:06:49
阅读次数:
448
partial_sort / partial_sort_copy
-----------------------------------------------------------------------------------------------------------------------------------------
描述:本算法接受一个 middle 迭代器(位于序列[first, last) 之列),然后重新安排[first, last),
使序列中的 middle - firs...
分类:
其他好文 时间:
2014-07-20 23:37:44
阅读次数:
293
inplace_merge(应用于有序区间)
--------------------------------------------------------------------
描述:如果两个连接在一起的序列[first, middle)和 [middle, last]都已排序,
那么 inplace_merge 可将它们结合成单一一个序列,并仍有序。
源码:
template
inline void inplace_merge(Bidi...
分类:
其他好文 时间:
2014-07-20 23:27:42
阅读次数:
368
vector
----------------------------------------------------------------------
描述:
1.迭代器
vector 维护的是一个连续线性空间,它的迭代器是普通指针,
能满足 RandomAccessIterator 所有必要条件:operator*, operator->,operator++,operator--,operator+,
operator-,operator+=,operator-=,operator[]
2.数据...
分类:
其他好文 时间:
2014-07-20 23:25:57
阅读次数:
378
nth_element
------------------------------------------------------------------------------
描述:重新排序,使得[nth,last)内没有任何一个元素小于[first,nth)内的元素,
但对于[first,nth)和[nth,last)两个子区间内的元素次序则无任何保证。
思路:
1.以 median-of-3-partition 将整个序列分割为更小的左、右子序列
2.如果 nth 迭代器落于左序列,就再对左子...
分类:
其他好文 时间:
2014-07-20 23:20:34
阅读次数:
279
random_shuffle
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
描述:将[first,last)的元素次序随机重排。
思路:
必须是 RandomAccessIterator
1.遍历区间
2.产生[...
分类:
其他好文 时间:
2014-07-20 23:12:29
阅读次数:
231
pre_permutation
----------------------------------------------------------------
描述: 取得 [first, last) 所标示之序列的前一个排列组合。如果没有,返回 false,有,返回true
思路:
从后往前
1.找两个相邻元素,令左端的元素为*i,右端的元素为*ii,且满足 *i > *ii
2.找出第一个小于 *i 的元素,令其为 *j,将*i,*j元素对调
3.将ii右端的所有元素颠倒
template <cl...
分类:
其他好文 时间:
2014-07-20 23:07:55
阅读次数:
286
equal_range(应用于有序区间)
--------------------------------------------------------------------------------------------------------------------------------------
描述:利用二分查找找到一个区间,区间里的所有值都等于给定值,返回的是一个pair,
分别存储区间的上界迭代器和下界迭代器
源码:
template <class ForwardIterator, c...
分类:
其他好文 时间:
2014-07-20 23:06:36
阅读次数:
263
merge sort
----------------------------------------------------------------------
描述:归并排序
思路:
1.将区间对半分割
2.对左、右段分别排序
3.利用inplace_merge将左、右段合并成为一个完整的有序序列
复杂度:O(log n)
源码:
template
void mergesort(BidirectionalIter first, Bidirecti...
分类:
其他好文 时间:
2014-07-20 23:05:52
阅读次数:
245