进程与线程

进程

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

线程

线程是进程内的一个独立执行单元
是程序执行的一个完整流程
是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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 用户打开浏览器,其实就是打开了浏览器应用程序。那么什么是程序呢?我们常说浏览器是多线程的,JS 是单线...
    love丁酥酥阅读 3,554评论 0 6
  • PHP是单线程,还是多线程的呢?PHP是多进程,还是多线程的呢?...解决这些问题,首先必须先了解线程和进程。 备...
    JunChow520阅读 2,024评论 1 3
  • 内容大纲 1、操作系统概述1.1 OS定义及特征1.2 OS的发展 2、进程2.1 进程概念及特征2.2 进程的状...
    看看你的肥脸阅读 1,916评论 0 4
  • 操作系统-进程与线程 在进程模型中,计算机上所有可运行的软件,通常也包括操作系统,被组织成若干个顺序进程,简称进程...
    帽子和五朵玫瑰阅读 881评论 0 0
  • 进程与线程在服务端研发中是一个非常重要的概念,如果您在学习的时候对这一块感到混乱或者不是太理解,可以阅读下本篇内容...
    我是五月君阅读 1,115评论 0 0