解决方案 »

  1.   

    进程和线程的概念是不一样的,一个cpu同时只能有一个进程在运行,一个进程里面可以包含多个线程,线程间可以访问同一个内存区域同时加载多个浏览器页面,这句我没弄明白,如果是开了多个浏览器应该是属于多进程,如果一个浏览器里开了多个页面,应该就是多线程了,这是我个人的理解,可能有点问题
      

  2.   

    1.一句话多线程的效率高,资源耗的少,多进程的健壮性,资源耗的多好。
    2.比如在SERVER端开忍气吞声时候,不可能每个请求都单独建立一个进程去响应,因为这样太耗资源。所以才有了多线程。
    3.据我所知,SAFARI是一个页面一个线程的,CHROME是一个进程一个页面的。后面的问题没看懂。
      

  3.   

    默默问一句,ios不是单线程么
      

  4.   

    我只想说第三个问题:同时打开多个浏览器,例如打开,火狐,谷歌,IE,在进程管理里面,就可以看得见这三个进程。由于这是一道面试题,所以面试官肯定想全方面的了解你,所以让你分析“结合进程从传输层套接字获取数据之后进行详细分析”,这就是考你网路传输协议TCP之类的东西了,给你个参考地址,希望对你有用http://www.ec21cn.org/education/uploadfiles/freestudy/netsaftandelectron/10/content01_04.asp
      

  5.   

    子线程死掉对于进程来说无所谓,不会产生致命的影响。如果子线程还在运行,UI线程结束,也不会结束整个进程。
    进程的结束会结束包含的所有子线程。而多进程,各进程间都是独立分配地址,没有交集,不能共享内存,需要通过特殊方式才能进行通信。这是出现多线程的主因。同时加载浏览器要看什么系统,什么浏览器。Chrome在windows下是多进程程序,开多少个页面就会有多少个Chrome进程,但是在IOS和OS下却是单进程。至于他为什么这么设计,去问设计师吧。每个人都可以有不同的考虑。