如何在应用程序中决定是使用线程还是创建单独的进程来实现并行性.
线程更轻,并且为了使几个"工作者"只是利用所有可用的CPU或核心,你最好使用线程.
当你需要工作人员更好地隔离和更强大,就像大多数服务器一样,请使用套接字.当一个线程严重崩溃时,它通常会占用整个进程,包括在该进程中工作的其他线程.如果一个过程变坏并且死亡,它就不会触及任何其他过程,所以他们可以愉快地继续他们的商业,好像什么也没发生.
进程具有更多孤立的内存.这很重要,原因如下:
单个任务更难以崩溃其他任务.
每个进程可以使用更多内存.这对于像Apache这样的大型高性能应用程序或像Postgres这样的数据库服务器非常重要.这对分配的内存和内存映射文件都很重要.