pthread线程库是posix标准,在应用多线程时候难免会遇到线程卡死在慢速IO上面的情况,这种情况应该对线程采用超时机制,即如果超时杀死线程。
杀死线程有两种方式一种是通过pthread_cancel()一种是通过pthread_kill发送信号捕捉信号的方式。
pthread_cancel的使用一直有很多争议,很多人不推荐使用它,在一些linuxBUGReprot上也总是看见它的影子,根据我的使用经验确实觉得这个函数实现的有些不完善。所以这里我给出一个用pthread_kill()发送信号,捕捉信号后线程自己退出的情况。使用时候注意退出时释放掉线程资源。