哪个是浏览器选项卡的更好选择:多线程还是多进程?

21 c browser multithreading process

我想知道哪个是在Web浏览器中实现选项卡的更好选择?(例如:Firefox使用多线程作为其标签,而Google Chrome使用多进程......)

R..*_*R.. 22

这取决于您的实施质量和优先级.线程有可能使用更少的内存/共享,并且可能比根据您使用的同步原语更好或更差地执行.另一方面,由于浏览器实现的完全废话质量,当一个糟糕的网站欺骗浏览器分配无限量的内存或更糟糕时,你真的希望整个浏览器和所有标签崩溃吗?

多进程浏览器实现很像OpenSSH,vsftpd等中的权限分离模型.您牺牲了一些资源来让内核保护您免受代码中的错误的影响.


xaa*_*aav 18

这取决于您的需求.

如果你是

  • 寻找资源最小的浏览器
  • 没有运行沉重的javascripts
  • 没有很多记忆

那么你可能会选择多线程.

但是,如果你是

  • 一次运行多个页面
  • 运行资源密集型Web应用程序

你可能想要多进程.由于目前大多数计算机和Web应用程序都属于第二类,因此Multi-Process可能是今天更好的选择.这是因为进程允许您在其自己的沙箱中分隔每个选项卡.这意味着如果一个选项卡崩溃,您将不会丢失其他选项卡.