- 博客(9)
- 资源 (7)
- 收藏
- 关注
转载 编程珠玑 12 取样问题
问题:从0到n-1的n个数中,随机选取m个数字,并且顺序打印出来,可以使用标准库的rand()函数 方法:使用Knuth方法,使用rand() % n 代码: [cpp] view plaincopy #include #include #include #include using name
2013-06-29 22:08:32 954
原创 互斥锁,条件变量,信号量的一个区别(unix网络编程卷2)
互斥锁是为了上锁而优化的,条件变量是为了等待而优化的,信号量可用于上锁,也可用于等待,因而可能导致更多的开销和更高的复杂性。
2013-06-28 22:31:26 768
转载 跳表SkipList
跳表SkipList 1.聊一聊跳表作者的其人其事 2. 言归正传,跳表简介 3. 跳表数据存储模型 4. 跳表的代码实现分析 5. 论文,代码下载及参考资料 . 聊一聊作者的其人其事 跳表是由William Pugh发明。他在 Communications of the ACM June 1990, 33(6) 668-676 发表了Skip lis
2013-06-27 19:28:48 744
原创 简单的一个异步框架~
代码从leveldb中挖来,http://blog.csdn.net/qq276592716/article/details/8899829 这边说了windows里面的比较高效的异步解决方案~ PosixEnv::PosixEnv() : page_size_(getpagesize()), started_bgthread_(false) {
2013-06-23 21:54:15 2047
原创 Needham-Schroeder协议
协议存在漏洞,因无法判断第3部中的值是否新鲜。http://zhidao.baidu.com/question/192417735.html
2013-06-23 00:49:08 5307
转载 SkipList跳表基本原理
为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树, 还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis
2013-06-12 20:22:58 621
转载 虚函数实现原理
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我
2013-06-08 23:50:57 537
转载 纯虚函数的默认实现
在帮新同事进行代码审查的时候,常常会发现这样的问题:代码中原有基类B和派生类D1,现在新加一个派生类D2,它有一个函数f2()。由于经验不足,新同事并没有注意到D1也有类似的函数f1()。于是造成了类似的代码出现在了两个地方,代码冗余造成将来的维护工作异常困难。注意到f()实际上是一个通用的行为,我们可以把它抽出来放到基类中,如下所示。 class B { pub
2013-06-08 20:37:58 931
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人