Linux线程资源泄漏?

时间:2009-02-25 06:14:12

标签: linux pthreads

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

2 个答案:

答案 0 :(得分:4)

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

  • 创建的文件(呃!)
  • 程序退出后,TCP套接字可能需要几分钟才能完全清理(例如,TIME_WAIT套接字)
  • SysV共享内存,信号量和消息队列(使用ipcs / ipcrm手动清理)

除此之外,几乎所有东西都被清理干净了。包括线程。

当然,你应该测试一下。

答案 1 :(得分:3)

内核通常在退出时清理进程的资源(打开文件,线程,分配的内存等),所以我认为你不必担心。虽然明确删除线程在风格上可能更好,但可能取决于您喜欢的编码风格。