1 信号的概念
是向进程发送的软件通知。
信号的生命周期:generate deliver, deliver的含义
deliver的含义:进程接收到信号并采取行动。
挂起的信号的概念
已经generate还没有被deliver的信号.
2 信号掩码 的本质
信号掩码是一个信号集,进程要阻塞某些信号可以通过设置信号掩码。
信号阻塞 和信号忽略的区别
信号忽略 忽略的信号不会deliver给进程,该信号会被丢弃。
信号阻塞
对某个信号设置阻塞后,该信号不会被传递,指定解除阻塞后才会把传递。
3 信号在多线程中的应用
信号掩码的作用:
4 信号等待
pause sigsupend 的区别 不理解
int sigwait(const sigset_t *restrict set, int *restrict signop);
sigwait函数将阻塞调用他的线程,直到收到它所监听的信号发生了,然后sigwait将其从未决队列中取出(因为被阻塞了,所以肯定是未决了),但是有一点需要注意的是:它从未决队列取出之后,并不影响那个被取出的信号原来被阻塞的状态。它所做的工作只有两个:第一,监听被阻塞的信号;第二,如果所监听的信号产生了,则将其从未决队列中移出来。
5 虽然信号处理程序是 进程范围内的 ,但是线程可以设置自己的信号掩码。
pthread_sigmask
6 信号,实现线程间同步
运用sigwait对阻塞信号的监听功能。