如果线程崩溃会发生什么,这是更好的线程还是进程?

时间:2016-04-05 10:16:43

标签: c linux multithreading unix

我正在编写一个连接一个连接的服务器应用程序,我收到一个TCP请求,其中包含函数的符号名称和共享库的名称。

我的服务器需要使用dlsym系统调用加载共享库,并使用收到的符号名称调用该函数。

现在加载共享库并执行我在单独的线程中执行的功能。我怀疑是由于分段故障导致线程崩溃或任何信号会影响我的进程吗?

哪一个更好的是在单独的线程或进程中运行。

请问我问题如果我的问题不明确。

1 个答案:

答案 0 :(得分:3)

线程崩溃会影响整个过程。你可能不会想要任何其他方式,因为崩溃信号(如SIGSEGV,SIGBUS,SIGABRT)意味着你失去了对进程行为的控制,并且任何事情都可能发生在它的内存中。

因此,如果您想要隔离事物,那么产生单独的进程肯定会更好。当然,如果有人可以让您的进程崩溃,那么他们拥有您的计算机非常接近。我当然希望您不打算将此信息暴露给不受信任的用户。