Linux线程资源泄漏?

Linux线程资源泄漏?,linux,pthreads,Linux,Pthreads,在一个多线程Linux应用程序中,应用程序退出而不删除线程。这将导致任何线程资源泄漏。如果该应用程序在一天中多次启动,系统会崩溃吗?内核通常会在进程退出时清理进程的资源(打开的文件、线程、分配的内存等),因此我认为您不必担心。尽管从风格上来说,明确删除线程可能更好,这可能取决于您首选的编码风格。在大多数情况下,程序使用的所有资源在程序存在时都会被清除。有一些例外情况(毫无疑问,这里列出了部分例外情况): 创建的文件(duh!) 程序退出后,TCP套接字可能需要几分钟才能完全清除(例如,TIME

在一个多线程Linux应用程序中,应用程序退出而不删除线程。这将导致任何线程资源泄漏。如果该应用程序在一天中多次启动,系统会崩溃吗?

内核通常会在进程退出时清理进程的资源(打开的文件、线程、分配的内存等),因此我认为您不必担心。尽管从风格上来说,明确删除线程可能更好,这可能取决于您首选的编码风格。

在大多数情况下,程序使用的所有资源在程序存在时都会被清除。有一些例外情况(毫无疑问,这里列出了部分例外情况):

  • 创建的文件(duh!)
  • 程序退出后,TCP套接字可能需要几分钟才能完全清除(例如,TIME_WAIT套接字)
  • SysV共享内存、信号量和消息队列(使用ipcs/ipcrm手动清理)
除此之外,几乎所有的东西都被清理干净了。包括线程


当然,您应该对此进行测试。

+1,最好知道这些线程实际上在做什么。