美文网首页
进程与线程

进程与线程

作者: 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

相关文章

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Java 线程相关

    目录1.并行与并发2.进程与线程---- 2.1 进程---- 2.2 线程---- 2.3 进程与线程的区别--...

  • 并发编程之进程与线程

    并发编程之进程与线程 2.1 线程与进程 2.1.1 进程 2.1.2 线程 2.1.3 二者对比 2.2 并行与...

  • 进程与线程、线程池

    进程与线程的相关总结进程与线程的简单解释进程: 基本的资源分配资源线程: 最小调度单元 线程安全 线程安全是多线程...

  • 详解iOS面试:进程与线程

    进程与线程 进程 = 资源管理 + 线程, 进程是资源分配单位,线程是 CPU 调度单位 以前没有线程的时候,进程...

  • Python多线程与多进程

    内容简述: 线程与进程的相关概念1、程序,进程,线程,多进程,多线程2、线程的生命周期3、并行与并发,同步与异步4...

  • OpenMP笔记

    进程与线程 进程:进程是正在运行的程序实例线程:线程是进程中实际运作单位,一个进程可以并行多个线程 进程包含如下程...

  • java面试3

    1. 进程与线程的区别? 进程和线程的关系: 进程与线程的区别: 2.struts2和springMVC的区别? ...

  • 22.iOS底层学习之多线程原理

    本篇提纲:1、线程与进程2、多线程3、多线程相关面试题4、线程安全问题5、线程与runloop的关系 线程与进程 ...

  • GO学习笔记(18) - 并发编程(1) - 理解gorouti

    目录 进程、线程与协程 并发模模型介绍 GO并发编程介绍 进程、线程与协程 进程和线程 进程是程序在操作系统中的一...

网友评论

      本文标题:进程与线程

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