摘要: 成员函数指针与高性能的c++委托(上篇) member function pointers and the fastest possible c++ delegates 撰文:don clugston 翻译:周翔 引子 标准c++中没有真正的面向对象的函数指针。这一点对c++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它......
摘要:老早就看了这篇文章: 类似socket传输的flush() 非常简单的代码,却总是不能在我的服务器上正常运行,如下:代码片段: for($i = 1; $i 500; $i++)print " ";????ob_implicit_flush();????for($j = 1; $j 30; $j++) {????echo $j."";????sleep(1)......
客户端源码分析之四:PiecePicker 类客户端源码分析之四:piecepicker 类 日期:2004-7-2 【程序编程相关:
如何嵌入(Docking)一个工具条(H】 作者:小马哥 【推荐阅读:
如何在工具栏中,加上图标和文字?(How】 版权所有,未经允许,不得转载 【扩展信息:
如何分屏幕(How to split t】 rstevens at hotmail.com piecepicker 用于实现“片断选择算法”,片断选择算法在«incentives build robustness in bittorrent»一文中有介绍,我把相关内容列出来. bt的片断选择算法,综合下面几种策略. l 严格的优先级 片断选择的第一个策略是:一旦请求了某个片断的子片断,那么该片断剩下的子片断优先被请求.这样,可以尽可能快的获得一个完整的片断 l 最少的优先 每个peer都优先选择整个系统中最少的那些片断去下载,而那些在系统中相对较多的片断,放在后面下载,这样,整个系统就趋向于一种更优的状态.如果不用这种算法,大家都去下载最多的那些片断,那么这些片断就会在系统中分布的越来越多,而那些在系统中相对较少的片断仍然很少,最后,某些 peer 就不再拥有其它 peer 感兴趣的片断了,那么系统的参与者越来越少,整个系统的性能就下降. l 随机的第一个片断 “最少优先”的一个例外是在下载刚开始的时候.此时,下载者没有任何片断可供上传,所以,需要尽快的获取一个完整的片断.而最少的片断,通常只有某一个peer拥有,所以,它可能比多个peers都拥有的那些片断下载的要慢.因此,第一个片断是随机选择的,直到第一个片断下载完成,才切换到“最少优先”的策略. l 最后阶段模式 有时候,从一个速率很慢的peer那里请求一个片断.在下载的中间阶段,这不是什么问题,但是却可能潜在的延迟下载的完成.为了防止这种情况,在最后阶段,peer向它的所有的peers们都发送某片断的子片断的请求,一旦某些子片断到了,那么就会向其它peer发送cancel 消息,取消对这些子片断的请求,以避免带宽的浪费.实际上,用这种方法并没有浪费多少带宽,而文件的结束部分也一直下载的非常快. 下面是我在分析之前思考的两个问题: 问题1:如何实现“严格优先级” 答案:记录每个已经开始下载的片断.优先选择它们. 问题2:如何实现“最少优先”算法?也就是你如何去统计某个片断在系统中最少? 答案:通过 have 消息(have消息请参看bt对等协议)来计算.在下载过程中,会不停的收到其它 peer 发来的 have 消息,每个have消息都表明对方拥有了某个片断.那么,为每个片断维护一个计数器,每收到一个have消息,相应的计数器加1.在选择片断的时候,计数器最小的某个片断被选中. ...
下一页 摘要:在pear的站点上看到有chm版本的手册下载了,我想这东东以后会和php手册,mysql手册,js手册一起,常备俺的案头,时时不忘拿出来翻阅一番: 下载地址
......