- 博客(9)
- 资源 (4)
- 收藏
- 关注
原创 两种高效的并发模式:半同步/半异步和领导者/追随者
这不仅仅两个山贼的故事!先介绍下关系:下面开始讲故事:1、领导者/追随者模型:故事:话说一个地方有一群有组织无纪律的人从事山贼这个很有前途的职业。一般就是有一个山贼在山路口察看,其他人在林子里面睡觉。假如发现有落单的过往客商,望风的山贼就会弄醒一个睡觉的山贼,然后自己去打劫。醒来的山贼接替作望风的事情。打劫的山贼搞定以后,就会去睡觉,直到
2015-12-29 17:14:43 2444
转载 各种加密签名算法MD5/SHA, DES,RSA,DSA,ECC
1) MD5/SHAMessageDigest是一个数据的数字指纹.即对一个任意长度的数据进行计算,产生一个唯一指纹号.MessageDigest的特性:A) 两个不同的数据,难以生成相同的指纹号B) 对于指定的指纹号,难以逆向计算出原始数据代表:MD5/SHA 2) DES单密钥算法,是信息的发送方采用密钥A进行数据加密,信息的接
2015-12-29 11:01:29 4679
原创 写一个RSA签名与验签的Demo
一、RSA私钥及公钥生成OpenSSL工具安装RSA私钥及公钥生成OpenSSL工具安装Linux用户(以Ubuntu为例)sudo apt-get install opensslRSA私钥及公钥生成Linux用户(以Ubuntu为例)$ openssl 进入OpenSSL程序OpenSSL> genrsa -out rsa_private_
2015-12-28 15:07:07 6439 2
原创 Red-Black Tree 与 STL源码 (0)
由于STL中的关联式容器默认的底层实现都是红黑树,因此红黑树对于后续学习STL源码还是很重要的,有必要掌握红黑树的实现原理和源码实现。一、红黑树 简介:红黑树和AVL Tree(自平衡二叉查找树)类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严
2015-12-21 15:09:14 485
原创 atexit、exit、return、abort
多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit() 结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就 是用atexit()函数来注册程序正常终止时要被调用的函数。atexit()函数的参数是一个函数指针,
2015-12-17 14:12:58 885
转载 Comparing Two High-Performance I/O Design Patterns
SummaryThis article investigates and compares different design patterns of high performance TCP-based servers. In addition to existing approaches, it proposes a scalable single-codebase, multi-platf
2015-12-15 15:02:49 427
转载 Reactor And Proactor
1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个
2015-12-15 00:02:04 354
转载 复习下cmake
什么是 CMakeAll problems in computer science can be solved by another level of indirection.David Wheeler你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 M
2015-12-12 23:51:15 548
转载 float类型在内存中的表示
先说一下计算机中二进制的算法:整数 整数的二进制算法大家应该很熟悉,就是不断的除以2取余数,然后将余数倒序排列。比如求9的二进制: 9/2=4 余 1 4/2=2 余 0 2/2=1 余 0 1/2=0 余 1 一直计算到商为0为止,然后将得到的余数由下到上排列,就得到了9的二进制:1001。 从上面的算法我们可以看到,用整数除以2,最终都能够到0。因此
2015-12-11 10:28:30 696
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人