陶辉的专栏

linux下分布式海量数据处理。个人网站:taohui.org.cn

C++的多态如何在编译和运行期实现

多态是什么?简单来说,就是某段程序调用了一个API接口,但是这个API有许多种实现,根据上下文的不同,调用这段API的程序,会调用该API的不同实现。今天我们只关注继承关系下的多态。 还是得通过一个例子来看看C++是怎样在编译期和运行期来实现多态的。很简单,定义了一个Father类,它有...

2011-12-31 16:02:37

阅读数:4525

评论数:4

nginx启动期做了哪些事

nginx是个多进程web容器,不同的配置下它的启动方式也是不同的,这里我只说说最典型的启动方式。 它有1个master进程,和多个worker进程(最优配置的数量与CPU核数相关)。那么,首先我们要找到main函数,它在src/core/nginx.c文件中。谈到源码了,这时我们先简单看下源码...

2011-12-30 17:28:34

阅读数:4928

评论数:3

linux内核调度算法(3)--多核系统的负载均衡

多核CPU现在很常见,那么问题来了,一个程序在运行时,只在一个CPU核上运行?还是交替在多个CPU核上运行呢?LINUX内核是如何在多核间调度进程的呢?又是内核又是CPU核,两个核有点绕,下面称CPU处理器来代替CPU核。 实际上,如果你没有对你的进程做过特殊处理的话,LINUX内核是有...

2011-12-28 10:54:18

阅读数:17121

评论数:4

linux内核调度算法(2)--CPU时间片如何分配

内核在微观上,把CPU的运行时间分成许多分,然后安排给各个进程轮流运行,造成宏观上所有的进程仿佛同时在执行。双核CPU,实际上最多只能有两个进程在同时运行,大家在top、vmstat命令里看到的正在运行的进程,并不是真的在占有着CPU哈。 所以,一些设计良好的高性能进程,比如nginx,都是实际...

2011-12-26 14:23:23

阅读数:23394

评论数:1

linux内核调度算法(1)--快速找到最高优先级进程

为什么要了解内核的调度策略呢?呵呵,因为它值得我们学习,不算是废话吧。内核调度程序很先进很强大,管理你的LINUX上跑的大量的乱七八糟的进程,同时还保持着对用户操作的高灵敏响应,如果可能,为什么不把这种思想放到自己的应用程序里呢?或者,有没有可能更好的实现自己的应用,使得操作系统能够以自己的意志来...

2011-12-22 11:17:48

阅读数:9444

评论数:3

谈谈守护进程与僵尸进程

04年时维护的第一个商业服务就用了两次fork产生守护进程的做法,前两天在网上看到许多帖子以及一些unix书籍,认为一次fork后产生守护进程足够了,各有道理吧,不过多了一次fork到底是出于什么目的呢? 进程也就是task,看看内核里维护进程的数据结构task_struct,这里有两个...

2011-12-21 11:00:13

阅读数:19079

评论数:29

生成一个C++对象的成本

最近两年C用得多了,C++有些生疏,又常常用PYTHON,或者阅读些JAVA的代码,感觉C的开发者们由于C语言在软件工程上的先天缺陷,导致开发效率不高,所以决定拿出C++来看看用用,准备把libevent封装出一个类ACE的C++实现,首先来复读下C++对象模型吧。要了解new一个object的成...

2011-12-19 11:30:47

阅读数:4426

评论数:5

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