[AIX][Linux]

AIX and Linux 信号处理

通常, AIX® and Linux® 系统已从非线程 (进程) 环境移至多线程环境。 在很多情况下,虽然多线程环境支持信号和信号处理,但并不是很适用,存在各种限制。

通常, AIX and Linux 系统已从非线程 (进程) 环境移至多线程环境。 在非线程环境中,某些功能仅可使用信号实现,而多数应用程序不需要关注信号和信号处理。 在多线程环境中,基于线程的原语支持用于使用信号在非线程环境中实现的一些函数。

在很多情况下,虽然多线程环境支持信号和信号处理,但并不是很适用,存在各种限制。 在各个中间件库(作为应用程序的一部分运行)尝试处理信号的多线程环境中,将应用程序代码与这些库集成时,可能会发生问题。 仅当一个进程中仅具有一个执行线程时,用于保存和复原信号处理程序(按进程定义)的传统方法适用,而在多线程环境中,则不适用。 这是因为很多执行线程可能会尝试保存和复原进程范围的资源,产生不可预测的结果。