浏览器中正在进行的下载是子进程还是线程?

浏览器中正在进行的下载是子进程还是线程?

我被要求根据我的以下知识给出一个父子进程关系的例子:父进程控制和限制子进程,它可以结束或启动一个进程,但反之则不行。为什么我可能认为浏览器中的下载进程是子进程,也可能不认为是子进程。如果浏览器关闭,那么下载也会关闭。但如果它是一个线程呢?

答案1

这是特定于实现的。某些浏览器很可能在自己的进程中运行每个下载。在这种情况下,您将看到父子进程关系的经典示例。某些浏览器在子进程中运行每个选项卡,因此如果一个选项卡崩溃,其他选项卡将继续运行。这也是客户端子进程的基本示例。

但下载更有可能在线程中运行,而不是在自己的进程中运行,因为为 HTTP 下载这样简单的任务生成自己的进程效率很低。您也可以通过启动一些下载并在您选择的进程管理器中查找任何新的子进程来检查您使用的 Web 浏览器的行为。

相关内容