Linux线程是无法彻底优雅停止的


本文介绍了在Linux系统上如何停止多线程应用程序的方法。作者首先介绍了通过设置布尔变量来实现线程停止的方法,然后讨论了在阻塞系统调用中停止线程的方法,主要通过信号来实现。接着,作者讨论了线程取消的方法,但指出了其存在的问题和不兼容性。最后,作者提供了一些关于使用信号来停止线程的技巧。

要点:

  • 在Linux上编写多线程应用程序时,停止线程比启动线程更困难。
  • 使用信号是一种在阻塞的系统调用中停止线程的方法。
  • 线程取消是一种不可靠且与现代C++不兼容的停止线程的方法。

总之:
令人沮丧的是,目前还没有一种公认的方法来中断 Linux 线程,并保护关键部分不受这种解压缩的影响。虽然这种方法在技术上并不存在障碍,但在软件中,干净利落的拆分往往是被忽视的部分。

详细点击标题