forthxu 发布的文章

skynet简介

skynet是云风编写的服务端底层管理框架,底层由C编写,配套lua作为脚本使用,可换python等其他脚本语言。
skynet默认开启_timer线程、socket线程、_monitor线程以及可配置个数的多个_worker线程,启动skynet服务就是向skynet注册由c编写的so模块实例也就是服务。
skynet主要工作是通过模块注册管理服务,并协调服务之间的调用和通讯。

skynet自带的模块中有一个重要的模块是snlua.so模块,通过snlua.so和指定lua脚本文件可以启动多个lua编写的服务,不用每个服务都是用c来编写,而且大部分逻辑都是在 lua 脚本下开发,只有需要考虑性能的模块才用 C 语言开发成库,直接提供给 lua 调用。 现在 Skynet提供给 lua 使用的库还不多,期望以后这些库多了,可以方便、简单的完成一个网络游戏服务端的开发。

Skynet是服务端的最底层框架,和游戏有关的各种服务都是基于架构之上开发的。服务启动后skynet一般由socket接受外部msg传入内部服务做处理。

PPT简介:http://pan.baidu.com/s/1i3qp7b3

深入理解PHP ob_flush和flush的区别

buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。

这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入 一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffer的时候,才会把buffer中的数据写入磁 盘,当然当调用内核函数flush()的时候,强制要求把buffer中的脏数据写回磁盘。

- 阅读剩余部分 -

神奇的13种思维方式

  • 有个老人爱清静,可附近常有小孩玩,吵得他要命,于是他把小孩召集过来,说:我这很冷清,谢谢你们让这更热闹,说完每人发三颗糖。孩子们很开心,天天来玩。几天后,每人只给2颗,再后来给1颗,最后就不给了。孩子们生气说:以后再也不来这给你热闹了。老人清静了。
    【境界思维】抓住人性的弱点,无事不成。

  • 两马各拉一货车。一马走得快,一马慢吞吞。于是主人把后面的货全搬到前面。后面的马笑了:“切!越努力越遭折磨!”谁知主人后来想:既然一匹马就能拉车,干嘛养两匹?最后懒马被宰掉吃了。这就是经济学中的懒马效应。
    【境界思维】如果让你的老板觉得你已经可有可无,那你已经站在即将离去的边缘。

- 阅读剩余部分 -