首页 > 系统相关 >进程线程

进程线程

时间:2022-12-14 12:33:22浏览次数:29  
标签:程序 指令 线程 内存 进程 加载

1、什么是进程、线程、并发、并行

一、进程线程

1、进程

  • 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。
  • 进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器
    等),也有的程序只能启动一个实例进程(例如网易云音乐、360安全卫士等)】

2、线程

  • 一个进程可以分为一到多个线程。
  • 一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行
  • Java中,线程作为最小调度单位,进程作为资源分配的最小单位。在windows中进程是不活动的,只是
    作为线程的容器

两者对比

  • 进程基本上相互独立的,而线程存在于进程内,是进程的一个子集

  • ·进程拥有共享的资源,如内存空间等,供其内部的线程共享

  • “进程间通信较为复杂

    • 同一台计算机的进程通信称为IPC(Inter-process communication)
    • 不同计算机之间的进程通信,需要通过网络,并遵守共同的协议,例如HTTP
  • 线程通信相对简单,因为它们共享进程内的内存,一个例子是多个线程可以访问同一个共享变量

  • 线程更轻量,线程上下文切换成本一般上要比进程上下文切换低

二、并发并行

1、并发

同一时间段做多件事

eg:1个保姆10分钟内完成做饭、打扫卫生

2、并行

同一时刻做多件事

eg:2个保姆同时做饭、打扫卫生

两者对比

  • 并发强调同一时间段

  • 并行强调同一时刻

标签:程序,指令,线程,内存,进程,加载
From: https://www.cnblogs.com/WangJiQing/p/16975631.html

相关文章

  • 使用线程池和shardingsphere-jdbc对统计进行分表查询优化
    记录之前的一次优化过程,之前发布在wiki上,现摘出发布。0.前言主要查询表为还款计划表xx_plan(近4000w,日新增10~20w)、实还记录表xx_actual(2600w+,日新增5~10w)、代偿记录表x......
  • 关于线程中断的总结
    在CoreJava中有这样一句话:"没有任何语言方面的需求要求一个被中断的程序应该终止。中断一个线程只是为了引起该线程的注意,被中断线程可以决定如何应对中断"中断是一种协作......
  • 操作系统-进程、线程、死锁、管程
    2.1进程定义:由程序段、数据段、PCB三部分组成了进程实体(进程映像)PCB是进程存在的唯一标志,所谓创建、撤销进程即是创建、撤销进程实体中的PCB进程是进程实体的运行......
  • WinForm(七)在新线程中更新UI
    在WinForm项目中,很多时候会映遇上多线程一起工作的情况,因为当前UI的更新显示,是在主线程中,一但主线程被长时运算占据后,UI就会被卡信,出现假死现像。那么就需要起一个新线......
  • WinForm(七)在新线程中更新UI
    在WinForm项目中,很多时候会映遇上多线程一起工作的情况,因为当前UI的更新显示,是在主线程中,一但主线程被长时运算占据后,UI就会被卡信,出现假死现像。那么就需要起一个新线......
  • WinForm(七)在新线程中更新UI
    在WinForm项目中,很多时候会映遇上多线程一起工作的情况,因为当前UI的更新显示,是在主线程中,一但主线程被长时运算占据后,UI就会被卡信,出现假死现像。那么就需要起一个新线......
  • Java中HashMap有哪些方式可以保证线程安全【杭州多测师】【杭州多测师_王sir】
    hashmap不是线程安全的,有提供两种方法让hashmap支持线程安全方法一:通过Collections.synchronizedMap()返回一个新的map,这个新的map是线程安全的,要求大家习惯基于接口编程,......
  • Java中ConcurrentHashMap,HashMap和HashTable区别,通过ConcurrentHashMap对key进行加锁
    一、什么是ConcurrentHashMapConcurrentHashMap和HashMap一样,是一个存放键值对的容器。使用hash算法来获取值的地址,因此时间复杂度是O(1)。查询非常快。同时,ConcurrentHash......
  • Qt子线程中使用UI线程
    Qt子线程中使用UI线程方案起源最近做了一个Excel保存图表的项目,因为不能直接用Excel的图表(会直接暴露计算数据),所以采用的是QCharts生成的表格,但是QCharts的问题是调用Q......
  • <三>线程间同步通信-生产者消费者模型
    多线程编程两个问题1:线程互斥问题竞态条件->临界区代码段->原子操作->互斥锁mutex2:线程间的同步通信生产者,消费者线程模型#include<iostream>#include<queue>#......