不可靠信号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不可靠信号相关的知识,希望对你有一定的参考价值。
参考技术A 4.不可靠的信号很多人看到了不可靠的信号这一章节,就认为因为额信号会丢失所以是不可靠的,其实这么理解是不对的,不可靠的信号是指信号的行为不可靠。
信号的处理就好比现在 LZ 正在写这篇博文,忽然来了一个电话,于是打断了手头的工作,先接电话去了。
信号处理函数的执行现场不是程序员布置的,而是内核布置的,因为程序中不会有调用信号处理函数的地方。
同一个信号处理函数的执行现场会被布置在同一个地方,所以当一次信号处理函数未执行完成时再次触发了相同的信号,信号处理函数发生了第二次调用,
则第一次调用的执行现场会被覆盖。
5.可重入函数
可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。
//c code
static int tmp;
void func1(int* x, int* y)
tmp=*x;
*x=*y;
*y=tmp;
void func2(int* x, int* y)
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
func1是不可重入的,func2是可重入的。因为在多线程条件下,操作系统会在func1还没有执行完的情况下,切换到另一个线程中,那个线程可能再次调用func1,
这样状态就错了。
Linux 信号详解二(信号分类)
信号分类 信号分为可靠信号和不可靠信号 不可靠信号的缺点 ①:处理完信号,需要重新再注册信号;②信号可能丢失。 Linux已经对缺点①做了优化,现在的不可靠问题主要指的是信号可能丢失 信号还可以分为实时信号和非实时信号--一般不可靠信号指的是前32种信号,这32种信号已经有了预定义值,每个信号有了确定的用途及含义,并且每种信号都有各自的缺省动作 --可靠信号指的后32种信号 --非实时信号都不支持排队,都是不可靠信号;实时信号都支持排队,都是可靠信号。
以上是关于不可靠信号的主要内容,如果未能解决你的问题,请参考以下文章