阿弥陀佛
发布时间:2013-12-07 17:42:23
读了一些开源软件,接触了leveldb,memcached,zfs on linux.觉得优秀的软件在设计上总是相似的。列举出开源软件中使用的很好的设计模式:Reactor模式只是模式,与具体的实现不一定是一一对应的。他封装了一个可重用的事件分离和分发框架。可以用一个线程等待多事件源的事件请求的发生。直到从事件源处收到了事件,React.........【阅读全文】
发布时间:2013-12-05 19:46:06
回去打印一下,研究一下memcached,每个线程一个ConnectQueue(CQ),主线程将数据分发到每个线程的CQ当中。CQ当中的每个元素的类型为点击(此处)折叠或打开struct conn_queue_item { int sfd; enum conn_states i.........【阅读全文】
发布时间:2013-12-04 22:51:43
UIManager .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");......【阅读全文】
发布时间:2013-11-30 19:44:51
memcached允许用户设置数据的过期时间,那么memcached是如何管理过期数据的呢?原理很简单:首先通过hash表查找该数据,然后判断该数据是否过期。如果过期,那么就将数据删除,否则将数据交给用户。系统中有一个定时器事件。点击(此处)折叠或打开/* libevent uses a monotonic clock when .........【阅读全文】
发布时间:2013-11-30 11:10:14
这两个函数一直都没有弄清楚,后来查了一下UNIX环境高级编程。里面真的是非常的全啊,很多对UNIX不解的问题,这里面都给出了解释。该函数是用于在一次函数调用中将读、写多个非连续缓冲区,叫做scatter read 和 gather write。iovec的结构体如下点击(此处)折叠或打开struct iovec{.........【阅读全文】