摘要: select系统调用是用来让我们的程序监视多个文件描述符(file descrīptor)的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有某一个或多个发生了状态改变。select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组, 每一个数组元素都能与一打开的文件描述符(不管是Socket描述符,还是其他 文件或命名管道或设备描述符)建立联系,建立联系的工作由程序员完成, 当调用select()时,由内核根据IO状态修改fd_set的内容,由此来通知执 行了select()的进程哪一Socket或文件可读,select函数原型如下:int select 阅读全文
posted @ 2011-03-20 21:02 nosaferyao 阅读(2603) 评论(0) 推荐(0) 编辑
摘要: copy from mail of方戟1、KR算法 a) 算法思路: 通过一个函数{F(n)}计算模式串S和文本串T的一个指纹值,首先比较F(S)和F(Tn)的值,其中(1<=n<=m-n+1)当F(S)和F(Tn)的值相等时,再比较实际的字符串。 该算法需要在T上迭代计算出F(T1),F(T2)….F(Tm-n+1), 依次比较 b) F(n)函数的选择 需要考虑两个问题 1. 尽量减少碰撞 即减少如下情况 有字符串X和Y 且X!=Y但是F(X)==F(Y) 2. 由于在最坏的情况下需要在文本串T上迭代F函数 m-n+1次, 出于效率的考虑,需要能够快速的计算出F(T1),F(T 阅读全文
posted @ 2011-03-20 16:52 nosaferyao 阅读(1513) 评论(0) 推荐(0) 编辑