
linux c
saint1126
这个作者很懒,什么都没留下…
展开
-
linux epoll
最近编写了一个IM的服务器,可是当上万级别,实现广播的时候,(TCP遍历所有的connetct)发送出去,总是出现多个数据段一起发送的现象.采用的是ruby下的Eventmachine来实现的.里面核心用到了linux下的epoll模型,所以找资料学习了下. 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的sel原创 2010-06-28 13:17:00 · 835 阅读 · 0 评论 -
redis的pre-sharding(预分布式)
<br /> 最近的项目进度比较紧,同步了几个项目,很少做总结,特别喜欢在github上review代码,字体很好,也很清晰。这个项目是实现redis的分布式设计的,之前的一个版本是按照http://www.ooso.net/archives/549的light cloud的原理实现的,并对get,set做了hset,hget的改进,使得占内存2.4g的key降低到了700M。不过经过每次查询都要经过两次IO,实在是浪费,实测简单的set,get只能达到4000k/s左右,实在是低下。<br原创 2011-04-12 01:24:00 · 8242 阅读 · 1 评论 -
Mqagent-1.0说明文档
1 Mqagent的用途Mqagent是为了适应分布式memcachq的需求,在magent基础上进行二次开发形成,因为其时专门为memcacheq服务的,因此我命名为mqagent。其作为代理层,隔离了开发者和后端的多个memcachq server,使得后端对开发者透明,开发人员只需要和代理层,依据memcache的协议进行消息队列的get/set操作即可。2 Mqagent使用流程1、开发者申请一个消息队列名称,例如msg_deliver_email, 该消息队列主要用原创 2011-02-09 15:32:00 · 2872 阅读 · 0 评论 -
glib的升级
<br />在写蜡笔链接业务的时候和mecacheq的分布式的时候都用到了glib库的hashtable数据结构, 使用了遍历其中所有的键值g_hash_table_get_keys()函数,该函数是glib2.12以后才支持, 服务器上的是glib2.6,版本比较低了,所以打算升级下, wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/glib-2.26.1.tar.gztar xvzf glib-2.26.1.tar.gz cd glib原创 2011-01-17 16:06:00 · 4978 阅读 · 0 评论 -
hash_map的使用方法
#include#include#include#includeusing namespace std;using namespace __gnu_cxx;int main(){ typedef hash_map Mymap; Mymap mymap; mymap.insert(std::make_pair(1,"12121")); mymap.insert(std::make_pair(2,"wangmh"原创 2010-11-17 16:02:00 · 1307 阅读 · 1 评论 -
Linux 多线程应用中如何编写安全的信号处理函数
<br />http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/原创 2011-01-10 20:33:00 · 2142 阅读 · 0 评论 -
glib库,Linux平台下最常用的C语言函数
<br />glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。<br />glib是Gtk +库和Gnome的基础。glib可以在多个平台下使用,比如Linux、Unix、Windows等。glib为许多标准的、常用的C语言结构提供了相应的替代物。<br />使用glib库的程序都应该包含glib的头文件glib.h。<br />########################### glib基本类型定义: ##############################<br /转载 2010-10-19 16:04:00 · 2703 阅读 · 0 评论 -
GIT和SVN之间的五个基本区别
<br />如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了。<br />GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。<br />那好,这就开始吧…<br /> GIT是分布式的,SVN不是:<br />原创 2010-10-20 10:05:00 · 16578 阅读 · 0 评论 -
Linux操作系统下/etc/hosts文件配置方法
摘要:Linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名。不同的linux版本,这个配置文件也可能不同...标签:hosts文件 静态路由表 Linux 配置1、关于/etc/host,主机名和IP配置文件Hosts - The static table lookup for host name(主机名查询静态表)hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保原创 2010-07-15 19:34:00 · 1109 阅读 · 0 评论 -
linux 下的一些系统命令
最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。发现这些系统信息查看命令也可以总结出一篇小小的东西来了。另外这里还有非常多的命令,可以作为参考。系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv原创 2010-07-12 14:03:00 · 604 阅读 · 0 评论 -
linux查看端口及使用改端口的命令
<br />1 netstat -tuanp<br /> <br />2 lsof -i :<port>原创 2010-06-29 17:20:00 · 796 阅读 · 0 评论 -
strtok_r需要注意的地方
年底了,需要交个demo了,上个星期4天完成了2400+行c代码,包括周五到测试,感觉很有成就感,不过还是觉得c太过于研发性了,数据结构都要自己去实现。在项目中,分割字符串,使用了strtok_r函数,该函数主要是分割字符串使用的。例如我想切分 字符串“hello world/wangmh” 根据里面到空格和/分割字符串,分割出到结果应该为 hello worldwangmh上原创 2011-01-11 13:02:00 · 9260 阅读 · 3 评论