摘要:前言 原文链接:http://www.nowamagic.net/librarys/veda/detail/775内容 在这个网站(http://stevenkobes.com/ctest.html)上发现一套很有趣的C语言测试题,如果你招聘C语言相关开发人员,或者正在学习C语言,很值得做一... 阅读全文
posted @ 2014-08-26 00:24 junren 阅读 (210) 评论 (0) 编辑
摘要:前言 前几天,突然听到一位刚刚面试完应聘者的同事吐槽到“现在的程序员基本功怎么这么差,连一个简单的KMP算法都搞不定,还好意思开那么高的薪水"。听到这里,笔者默默的翻出《数据结构》,打开google。本文正是在这样的背景下对KMP算法的复习与整理。简介 该算法是一种改进的字符串匹配算法,由D... 阅读全文
posted @ 2014-07-29 01:09 junren 阅读 (2080) 评论 (5) 编辑
摘要:前言 笔者本打算撰写一篇讲解标准I/O(缓存I/O)的博文,但是发现已经有网友做过同样的工作,并且工作质量上乘,特转载于此。 原文地址http://lenky.info/archives/2012/08/1856 正文 利用系统调用函数read()/write()是我们平常用得最多的一... 阅读全文
posted @ 2014-07-27 02:53 junren 阅读 (753) 评论 (0) 编辑
摘要:前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣。“自动根据CPU数目设置进程个数和绑定CPU亲缘性”。当时笔者对CPU亲缘性没有任何概念,当时作者只是下意识的打开了google并输入CPU亲缘性(CPU Affinity)简单了做了个了解。 ... 阅读全文
posted @ 2014-07-26 21:04 junren 阅读 (4851) 评论 (1) 编辑
摘要:前言 I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EPOLL的实现与使用详解。 阅读全文
posted @ 2014-07-22 18:35 junren 阅读 (59327) 评论 (8) 编辑
摘要:前言 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被 称为 C10K 问题。C10K问题最早提出于2003年,10多年间,随着互联网的迅速发展,越来越多的网络服务面临的不再是C10K问题,而是C10M问题!典型的多线程服务器的线程模型 1.每个请求创建一个线程,使用阻... 阅读全文
posted @ 2014-07-20 02:21 junren 阅读 (1944) 评论 (1) 编辑
摘要:前言 本文是笔者的第一篇博文,在这篇文章的大部分内容基于steven大神的《Unix Network Programming》。一来是对书本内容的整理与归纳。二来也是为接下来的博文奠定基础。 在实际应用中,数据操作通常分为输入和输出,那么以输入为例,在操作系统中,一个数据的输入通常分为以下两个过... 阅读全文
posted @ 2014-07-17 00:41 junren 阅读 (1569) 评论 (9) 编辑