有段时间没看map里面的东西了,刚才看发现功能上增加了一些,在来复习了一次流程初始化每个map建立线程,这个线程有两个功能,1.处理GS发过来的包 2.驱动map里面的定时器GS发过来的包是存在m_gs2msPkts2这个无锁的单消费者,单生产者队列中,只要是GS中不处理的包都要发到MAP中然后每个...
分类:
其他好文 时间:
2014-08-13 03:28:25
阅读次数:
197
笔记:在linux应用程序中延时有sleep()、msleep()和usleep()函数之类的延时,也有如下形式的延时: struct timeval delay;
delay.tv_sec = sleepSecond;
delay.tv_usec = 0;
select( 0, NULL, NULL, NULL, &delay );但是基本上都是基于进程休眠的,好像...
分类:
系统相关 时间:
2014-08-11 18:06:32
阅读次数:
323
1 var SchedulerPauseResumeTest = cc.Layer.extend({ 2 ctor : function(){ 3 this._super(); 4 //添加监听 5 6 this.schedule(this.onT...
分类:
其他好文 时间:
2014-08-11 17:20:42
阅读次数:
321
给定时器调用传递参数无论是window.setTimeout 还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必需要带参数,这就需要想方法解决。例如对于函数hello(_name),它用于针对用户名显示欢迎信息:var userName="jack";/...
分类:
Web程序 时间:
2014-08-11 17:11:52
阅读次数:
216
thttpd源码解析 定时器模块
thttpd是非常轻量级的http服务器,可执行文件仅50kB。名称中的第一个t表示tiny,
turbo, 或throttling与lighttpd、memcached、redis相比非常小巧,仅有不到8k行,而后三者大小分别为:60k,13k,86k支持HTTP/1.1和CGI;采用IO复用实现,单线程,可移植;实现了基于URL的文件流量限制功能特别...
分类:
其他好文 时间:
2014-08-11 15:12:24
阅读次数:
467
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数 了。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数...
分类:
其他好文 时间:
2014-08-10 21:28:00
阅读次数:
369
这一节我们同样只讲优化工作,关于缓冲区的优化。
我们为键盘、鼠标和定时器各维护了一个FIFO缓冲区,如果定时器有100个,我们要创建100个FIFO缓冲区。这是不优雅的。
FIFO缓冲区的作用:拿定时器1来说,我们怎样知道定时器1超时了。假设它的超时时间是10s,那么10s后,定时器1被告知超时,同时往它的FIFO缓冲区写入数据,这样在其他地方,我们只需查看它的FIFO缓冲区是否有数据,就知道...
分类:
其他好文 时间:
2014-08-10 18:41:44
阅读次数:
184
cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce...
分类:
其他好文 时间:
2014-08-10 08:09:20
阅读次数:
350
定时器的中断处理程序要保证高效率,需要进行一些优化,这里介绍优化的方法。对于一个操作系统来说,会有多个定时器,假设该操作系统维护了500个定时器,当每一次定时中断发生时(这里我们设定1秒发生100次中断),调用中断处理程序,中断处理程序会对这500个定时器进行if判断,看哪些正在被使用,这样1秒内,就会有500X100=10000次if判断,而中断处理程序最讲究节省时间。实际上,我们不必每发生一次...
分类:
其他好文 时间:
2014-08-09 23:17:29
阅读次数:
303