自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 关于CPU Cache -- 程序猿需要知道的那些事

本文原文地址:http://cenalulu.github.io/linux/all-about-cpu-cache/ 本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识 先来看一张本文所有概念的一个思维导图 为什么要有CPU Cache 随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的

2015-08-28 11:02:10 554

转载 KMP算法

个人觉得这篇文章是网上的介绍有关KMP算法更让人容易理解的文章了,确实说得很“详细”,耐心地把它看完肯定会有 所收获的~~,另外有关模式函数值next[i]确实有很多版本啊,在另外一些面向对象的算法描述书中也有失效函数 f(j)的说法,其实是一个意思,即next[j]=f(j-1)+1,不过还是next[j]这种表示法好理解啊:                                

2015-08-10 16:42:33 237

转载 linux /proc详解

Linux-proc      查看逻辑CPU个数: #cat /proc/cpuinfo |grep "processor"|sort -u|wc -l 24   查看物理CPU个数: #grep "physical id" /proc/cpuinfo|sort -u|wc -l                    2 #grep "physica

2015-08-08 21:39:19 489

转载 主要介绍va_start和va_end的使用及原理。

本文主要介绍va_start和va_end的使用及原理。   在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。   介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理:  1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表 void foo(

2015-08-08 10:07:26 356

转载 memcached源码分析之线程池机制(二)

在上一篇中已分析了memcached线程池的创建流程,由于上篇篇幅较长,因此将memcached线程池中线程的调度流程另立一篇。 先让我们把目光转到主函数中,主线程在调用thread_init函数创建好线程池后,就开始创建监听套接字,memcached支持TCP,UDP,UNIX域套接字,因此相应的要创建三种监听套接字 这里我们只分析TCP listening socket的创建(UD

2015-08-06 19:30:33 219

转载 memcached源码分析之线程池机制(一)

已经个把月没有写长篇博文了,最近抽了点时间,将memcached源码分析系列文章的线程机制篇给整出来,在分析源码的过程中参考了网上的一些资源。 该文主要集中于两个问题:(1)memcached线程池是如何创建的,(2)线程池中的线程又是如何进行调度的。一切从源码中找答案。 memcached的线程池模型采用较典型的Master-Worker模型: (1)主线程负责监听客户端的建立

2015-08-06 19:20:44 302

转载 Memcached中item锁的粒度

在多线程环境中,对于memcached中的item操作,应该对它加锁,如果加所有的item都加一个全局锁,这样对于一把锁来控制所有hash桶中的item,粒度实在是太大了,一个桶的插入删除操作会阻塞另一个桶的操作。如果锁粒度很小的话,例如每个hash桶加锁,那么如果是在hash桶扩容的情况下,一次扩容操作可能涉及到多个桶数据的迁移,这样需要对多个桶的锁进行循环加锁,这样就有些复杂。Memcache

2015-08-06 19:17:32 459

转载 linux内核模块编程

Linux内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是Tiger哥学习Linux时第一节课所接触的知识。由此可以看出它的important,也可以看出其实它很easy。 一前言: 1. 什么是内核模块 1> 内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行

2015-08-02 20:18:44 343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除