JS线程与进程

线程与进程

  • 进程:
    • 程序的一次执行, 它占有一片独有的内存空间
    • 可以通过windows任务管理器查看进程
  • 线程:
    • 是进程内的一个独立执行单元
    • 是程序执行的一个完整流程
    • 是CPU的最小的调度单元
  • 关系
    • 一个进程至少有一个线程(主)
    • 一个进程中也可以同时运行多个线程, 我们会说程序是多线程运行的
    • 一个进程内的数据可以供其中的多个线程直接共享
    • 多个进程之间的数据是不能直接共享的
    • 程序是在某个进程中的某个线程执行的

图解

浏览器运行是单进程还是多进程?

有的是单进程

  • firefox
  • 老版IE

有的是多进程

  • chrome
  • 新版IE

如何查看浏览器是否是多进程运行的呢?

任务管理器==>进程

浏览器运行是单线程还是多线程?

都是多线程运行的

浏览器内核模块组成

什么是浏览器内核?

支持浏览器运行的最核心的程序

浏览器内核

Chrome, Safari: webkit

firefox: Gecko

IE: Trident

360,搜狗等国内浏览器: Trident + webkit

  • 主线程
    • js引擎模块 : 负责js程序的编译与运行
    • html,css文档解析模块 : 负责页面文本的解析
    • DOM/CSS模块 : 负责dom/css在内存中的相关处理
    • 布局和渲染模块 : 负责页面的布局和效果的绘制(内存中的对象)
  • 分线程
    • 定时器模块 : 负责定时器的管理
    • DOM事件模块 : 负责事件的管理
    • 网络请求模块 : 负责Ajax请求
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章