摘要: Unix跟Windows等那些”对于开发者易于使用”的OS比起来,在信号和线程的利用方面有诸多的限制。但是即使不知道这些知识就做构架设计和实现的情况也随处可见。这个就是那些经常不能再现的bug的温床吧。
因此,我想分成几回来写一些准则来防止陷入到这些圈套里。
准则1:不依赖于信号收发的设计
·给其他进程以及自己发送异步信号并改变处理流程的设计不要做
异步信号是值用kill系统调用来创建?发送的信号、例如SIGUSR1,SIGUSR2,SIGINT,SIGTERM 等
简单的使用忽略信号(SIG_IGN)则没有问题
·不要把线程和信号一起使用
阅读全文