摘要:
本系列都是翻译REDIS作者的博文 另外加上我自己的一点点理解 希望有问题大家一起讨论http://antirez.com/news/77原文地址在利用REDIS做分布式锁时基本持有2种观点: 1种认为这是非常 快速的 很伟大的案例 认为redis解决了一个非常难解决的问题,但是另一方面却不是这样的... 阅读全文
摘要:
19:22:012014-08-27引言:以前对wait waitpid 以及exit这几个函数只是大致上了解,但是看REDIS的AOF和RDB 2种持久化时 均要处理子进程运行完成退出和父进程需要做的什么事情,所以特定看了UNIX环境编程和LINUX系统编程这2本书 重新梳理下整个要点。内容:一般... 阅读全文
摘要:
2014-08-2620:06:24 今天就是在开发这个EPOLL来处理网络事件 封装较为健壮的EPOLL模型来处理基本的网络IO 1) 超时这个主题先没有弄 在开发EPOLL包括select/poll类型io复用时,编程技术技巧分为几点:【下面都是针对与TCP协议 如果在以后开发中需要U... 阅读全文
摘要:
17:13:552014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要makefile来配合的 http://blog.csdn.net/chaoqunz/article/d... 阅读全文
摘要:
从这个系列开始 陆续记录整个RBL开发的过程 废话不多说 直入主题 10:54:53 2014-08-25 今天开发任务: RBL.h 的框架搭建出来 包括RBLServer RBLClient 和命令窗口 网络层: 因为我开发的目的就是linux 所有非linux系统的a... 阅读全文
摘要:
Valgrind的多线程调试工具 Helgrind是Valgrind的一个重点功能 本节主要针对与多线程基本安全问题进行检测:【所有的代码环境都是在POSIX_THREAD模式下】 写线程代码时 经常碰到如下问题1) 资源不安全访问 【就是多个线程在没有同步的情况下写某个资源体】2) 死锁问题 3)... 阅读全文
摘要:
由于项目需要 所有的downserver node 都需要访问一个公共的布隆过滤器 也就是要做一个跨网络挺供的布隆过滤器服务中间产品。 同时要保证非常非常高的实时性 所以在这里 所以现在必须要做一个这样的中间服务系统。主要实现如下功能:1 客户端远程传入一个需要存入读或者写入布隆过滤器的string... 阅读全文
摘要:
这里非常的绕口 需要仔细的来看看: destory(): 显示调用一个对象的析构函数 相当于释放一个对象需要释放的一些动态内存 为下次真正释放对象做准备 deallocate():真正的释放一个内存块。这是一个上层封装也就是delete函数的上层封装 在STL的空间配置器中 有可能会调用dele... 阅读全文
摘要:
在STL中的容器中的析构函数中,会经常调用destroy()这个函数 在STL中 destroy()被重载了 这点在这里到不去讨论 这里贴最简单的那个版本 template inline void destory(T * pointer) { pointer->~T(); }... 阅读全文
摘要:
MINIX3 内核整体架构回顾及内核定 性分析 12.1 注意事项 由于本文档不对 I/O 文件系统做出分析,所以在此不对 MINIX3 整体做出一个分 析,本章主要是针对内核进程分析.并且这里的模型建立是非常理想化的。 12.2 MINIX3 架构 MINIX3 的设计理念就是设计一个比当前主流的... 阅读全文