美文网首页
进程与线程

进程与线程

作者: RQrry | 来源:发表于2020-04-06 18:22 被阅读0次

    进程

    程序的一次执行,占有独立的内存空间

    线程

    线程是进程内的一个独立执行单元
    是程序执行的一个完整流程
    是CPU的最小的调度单元

    相关知识

    应用程序必须运行在某个进程的某个线程上
    一个进程中至少有一个运行的线程:主线程,进程启动后自动创建
    一个进程中可以同时运行多个线程,程序是多线程运行的
    一个进程中的数据可以供其中的多个线程直接共享
    多个进程之间的数据是不能直接共享的
    线程池:保存多个线程对象的容器,实现线程对象的反复利用

    相关问题

    多进程
    一个应用程序可以同时启动多个实例运行
    多线程
    在一个进程内,同时有多个线程运行
    优点:
      能有效提升CPU的利用率
    缺点:
      创建多线程开销
      线程间切换开销
      死锁与状态同步问题
    单线程
    优点:
      顺序编程简单易懂
    缺点:
      效率低
    JS是单线程运行的
    JS是单线程运行的
    但使用H5中的Web Workers可以多线程运行
    浏览器运行
    单进程:FireFox,老版IE
    多进程:Chrome,新版IE
    浏览器是多线程运行的

    • 主线程:
      • js 引擎模块:负责 js 程序的编译和运行
      • html/css 文档解析模块:负责页面文本的解析
      • DOM/CSS 模块:负责 DOM/CSS 在内存中的相关处理
      • 布局和渲染模块:负责页面的布局和效果的绘制(内存中的对象)
    • 分线程:
      • 定时器模块:负责定时器的管理
      • DOM 事件响应模块:负责事件的管理
      • 网络请求模块:负责 ajax 请求

    Web Workers

    Web Workers 是 HTML5 提供的一个 javascript 多线程的解决方案
    将大量计算的代码交给 Web Worker 运行而不冻结用户界面
    子线程完全受主线程控制,且不得操作 DOM

    相关文章

      网友评论

          本文标题:进程与线程

          本文链接:https://www.haomeiwen.com/subject/tlmbphtx.html