摘要: 多级指针你可以看成是一个树,每个节点都可以是一个小树,想找到每层节点的时候只能通过指针偏移确定,除非你知道他们具体的各级坐标,否则无法直接定位。 举个例子strA******* tree;这个tree其实就是个地址值,不仅如此,这个大树后面只有******* tree 这层节点保存的值是strA结构 阅读全文
posted @ 2016-08-04 17:39 安子 阅读(497) 评论(0) 推荐(0)
摘要: 读,写,缓冲区可以杜绝频繁的读,写动作1、写缓存,如果一次write的长度大于buffer长度那么久发送当前缓冲区的内容并且发送要写入的内容,就是不在缓存了。如果发送的内容小于buffer长度,就按缓冲区满了发送缓冲区内容。 2、读缓存,读缓存就不用看了,他基本和外部应用没什么直接关系,他的大小一般 阅读全文
posted @ 2016-07-04 12:25 安子 阅读(836) 评论(0) 推荐(0)
摘要: 以下仅供自己翻阅,因为时间久了会忘2、发送缓冲区主要是为了处理发送前一些小内容,可以自己控制flush,或者write的不是那么频繁因为没必要。至于大内容就没必要了。3、其实tcp以上的通信协议也好,文件格式也好,这些东西根本没有什么区别,说白了全是先互相同意通信(也就是握手),然后传文件,所谓的打 阅读全文
posted @ 2016-07-02 09:23 安子 阅读(1412) 评论(0) 推荐(0)
摘要: 百度收到的都不精确,看我收录老外的一段话,这才准确: A mask defines which bits you want to keep, and which bits you want to clear. Masking is the act of applying a mask to a va 阅读全文
posted @ 2016-06-22 09:20 安子 阅读(1918) 评论(0) 推荐(0)
摘要: 1、alarm n秒后触发一次,不是循环的2、setitimer 可以发出3种信号给自己,3、timerfd 这个接口基于文件描述符,通过文件描述符类似epoll那种的可读事件进行超时通知,能够被用于select/epoll/poll的应用场景,linux内核2.6.25版本及以上版本使用,gola 阅读全文
posted @ 2016-06-17 15:18 安子 阅读(2160) 评论(0) 推荐(0)
摘要: 对于Reader比较麻烦需要记住以下: When Read encounters an error or end-of-file condition after successfully reading n > 0 bytes, it returns the number of bytes read 阅读全文
posted @ 2016-06-07 12:04 安子 阅读(761) 评论(0) 推荐(0)
摘要: 今天做了一下测试,目的是看看局域网内服务器a,通过一个连接往服务器b传输数据,和通过多个连接传输的不同。 结果发现和多少个连接没关系,一个进程一个连接就能跑满网卡,只要write的时候够快,read的时候够快就可以。1000m网卡,tcp能跑到910m,得出的结论就是,如果单个流数据很稀少,比如命令 阅读全文
posted @ 2016-06-01 10:06 安子 阅读(909) 评论(0) 推荐(0)
摘要: 比如,一个主机挂了,另一个主机自动启动,对于用户来说没什么感觉,keepalived 就是做这个的,这就叫高可用。意思是不容易当机。 再比如,nginx把并发平均发给多个机器,lvs技术等,这就是负载均衡。一般的系统,最外层采用负载均衡,dns均衡+穿透代理,里边建设一个集群,或者多个集群就够用了。 阅读全文
posted @ 2016-05-21 16:50 安子 阅读(1242) 评论(0) 推荐(0)
摘要: 本来也没打算深入学习erlang,就是看一下他们的大概思路erlang每个自定义函数都能注册成进程,每个节点通过erl -name 'name@ip'.进去后,可以直接做远程调用,节点之间就靠一个连接,来回传输,如果想再开一个了连接我估计是可以的吧,不太清楚,这个无所谓,一个就够了,可以随便登录某台 阅读全文
posted @ 2016-05-21 16:41 安子 阅读(1012) 评论(0) 推荐(0)
摘要: 分布式算法,主要解决的是多数据副本保持一致的难题,以下是转载的内容:http://blog.chinaunix.net/uid-26111972-id-3759540.html哈哈 阅读全文
posted @ 2016-05-21 16:22 安子 阅读(135) 评论(0) 推荐(0)