当前位置: 首页 > news >正文

一、线程相关概念

文章目录

  • 相关概念
    • 程序(program)
    • 进程
    • 线程
    • 单线程与多线程
    • 并发与并行

相关概念

程序(program)

是为完成特定任务、用某种语言编写的一组指令的集合。简单的说:就是我们写的代码。

进程

  1. 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们再开启迅雷时,又启动了一个进程,操作系统将为迅雷分配新的内存空间。
  2. 进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生、存在和消亡的过程。

比如打开自己的任务管理器查看进程信息(Ctrl+Alt+del,选择任务管理器)在这里插入图片描述

电脑里有很多程序,但运行的程序不多即进程,进程会占用内存和CPU

线程

  1. 线程由进程创建的,是进程的一个实体
  2. 一个进程可以拥有多个线程,如下图
    在这里插入图片描述
    这是一个打开的迅雷程序即一个进程,我们在讯雷里下载了多个文件,一个文件的下载就是一个线程。图上表示了三个线程。

单线程与多线程

  1. 单线程:同一个时刻,只允许执行一个线程。
  2. 多线程:同一个时刻,可以执行多个线程。比如:一个qq进程,可以同时打
    开多个聊天窗口,一个迅雷进程,可以同时下载多个文件。

并发与并行

  1. 并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简
    单的说,单核cpu实现的多任务就是并发。
  2. 并行:同一个时刻,多个任务同时执行。多核cpu可以实现并行。
    说明:很显然,并发和并行可以同时存在。
    一般都是多核CPU,查看方式(桌面电脑图标右键选择管理->设备管理器->处理器)
    代码也可查看
    在这里插入图片描述

相关文章:

  • wordpress工坊/做网页用什么软件好
  • 免费网络直播软件/长春网络优化哪个公司在做
  • bootstrap单页网站/太原百度公司地址
  • 中国建设企业银行网站首页/手机优化专家下载
  • 郑州做网站公司中/谷歌seo公司
  • 安卓和web网站开发/小吃培训2000元学6项
  • 少儿 C++ 编程 学习路线 推荐(2022.12.22)
  • java微信支付v3系列——5.微信支付成功回调
  • UE中的FString操作
  • 线性模型-优化方法及推导过程
  • 践行者访谈实录:你真的了解CMMI吗?
  • postgresql及wal2json插件安装
  • 计算机今年炸了?现在还适合入行吗?
  • 【Flask框架】——24 创建ROM映射
  • 嵌入式学习之Linux驱动:IO模型(1)概览
  • C++ Primer 13.5练习:实现StrVec和String
  • 【Linux】进程信号
  • Netty实战与源码剖析(二)——Netty线程模型