实现单进程内的任意数量计时器
摘要:源自APUE 习题10.5代码参考自上一篇译文博客:Implementing Software Timer。代码由两部分组成:my_alarm.h my_alarm.cmy_alarm.h#include <stdio.h>#include <unistd.h>#include <time.h>#include <signal.h>#define TIME time_t#define MAXALARM 255#define MAXTIME 1000#define FALSE 0#define TRUE 1typedef struct { int
阅读全文
posted @
2013-05-03 14:33
CoreyGao
阅读(209)
推荐(0)
APUE读书笔记 之 信号
摘要:UNIX信号是软件层次的异常控制流,为系统异步处理事件提供了机制。 UNIX信号使得内核和进程可以中断其他进程。 A signal is a small message that notifies a process that an event of some type has occured in the system. 每一个信号对应着系统中的某个事件。 本章主要讲述了常用信号,信号的处理方式,与信号有关的系统调用。然后用很大篇幅讲述了信号集与进程的信号屏蔽。主要知识点如下图:图1 信号的基本概念 图2 信号集与进程BTW:习题10.5很好,是APUE为数不多的与代码相关的好...
阅读全文
posted @
2013-05-02 22:04
CoreyGao
阅读(290)
推荐(1)
【译】Implementing Software Timers By: Don Libes
摘要:Title:Implementing Software TimersBy:Don Libes翻译:CoreyGao 这篇文章提供了实现软件计时器所需的一系列函数。软件计时器是什么?你为什么需要实现软件计时器?软件计时器弥补了硬件计时器的先天不足。比如,对于大部分电脑的硬件计时器,你只能让时钟在未来某个指定时间触发一次中断(译者注:例如UNIX下的alarm函数)。 当运行多任务时,你就会想要让时钟能够同步地追踪多个计时器。即使多个计时器的时间相互重叠,时钟也必须能够正确的产生中断。操作系统始终都在重复上述过程。 Robet Ward在1990年四月的《C User's Journa..
阅读全文
posted @
2013-05-01 17:54
CoreyGao
阅读(1206)
推荐(0)