读取信号的手稿,我遇到了信号表,看到有两个定义的信号,用于使用SIGUSR1和SIGUSR2.这两者有什么区别吗?如果是这样,我何时应该选择使用另一个?如果没有差异,为什么两个信号服务于同一目的?
您有两个信号可以满足您自己的需求.保证系统永远不会将它们传递给您的进程,因此您可以将所需的任何语义放在它们上面.为什么两个?完全随意; 只有一个肯定会吝啬,所以他们给了我们两个,但他们可以给予更多.这是与基于信号的通信有关的任意自由度.
我认为大部分时间这都足够了.我个人从来没有使用过多于同时用户定义的...例如,这样的信号用于警告服务器正在执行某些消耗任务,特别是"紧急"执行某些操作:读取内容中的内容通信通道,停止当前任务等.如果您需要两个以上的用户定义信号,这可能意味着您设计糟糕并且过度使用它们.请记住,使用捕获信号会在您自己的代码中引发一些并发性,这会对其设计产生严重影响.
| 归档时间: |
|
| 查看次数: |
9430 次 |
| 最近记录: |