ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

简单易懂的进程与线程详解

2022-04-16 14:04:26  阅读:177  来源: 互联网

标签:QQ 计算机程序 操作系统 哪些 详解 线程 进程 易懂


进程与线程详解

本博客分以下几个部分来阐述进程与线程

1、进程的概念很抽象?那么什么是进程呢?

2、开启一个进程,操作系统会做哪些工作?

3、既然进程也可以使多个程序能并发执行,为什么还需要线程?

4、进程与线程有哪些联系呢?

什么是进程?

  • 进程是计算机程序从启动到结束的过程。
  • 那么什么是计算机程序呢? 我们常见的QQ、微信、英雄联盟这些软件都是一个计算机程序,(可以说我们从打开QQ到关闭QQ就是一段进程)。
    不难理解,这些计算机程序是由代码,以及图片、音频、jar包等必要的资源文件组成的。

开启一个进程,操作系统会做哪些工作呢?

  • ①进程的ID号。当操作系统收到我们要打开QQ进程的时候,操作系统会给QQ进程一个ID号,我们可以通过任务管理器窗口看到该进程ID
  • ②申请内存空间。每个进程拥有独立的地址空间。

既然进程也可以使多个程序能并发执行,为什么还需要线程?

从用户使用的角度来看

  • 进程的并发解决了哪些问题呢?
    • 多应用同时进行,在QQ音乐听歌的同时 还可以刷QQ空间。
    • 应用分身,这允许我们同时登录好多人的QQ号。
  • 如果我们QQ进程中只有一个线程,会发生什么呢?
    • 单线程的进程是完全顺序结构,只能在同一时间做一件事情。比如我们在使用QQ进行文件传输的时候,就无法和好友发消息 闲聊了。

从上下文状态切换的角度来看

  • 进程的单位比较大,创建/销毁、进行上下文切换比较浪费资源
  • 线程的单位比较小,创建/销毁、上下文切换不太浪费资源
  • 所以,需要频繁创建销毁时,要考虑线程 。在需要大量计算、切换频繁时 使用线程可以提高程序的响应速度 。

线程的引入优点很多,又有哪些问题呢?

  • 开发更加麻烦。
  • 线程可以共享一个进程的资源,所以共享的数据要保证安全。
  • 线程的执行顺序,也需要保证,比如我们要给QQ好友发送一张图片,这篇文章传输过程中可能被分成了很多份小的
    数据包来发送,这个时候QQ好友接收数据包的顺序不能乱。

进程与线程有哪些联系呢?

  • 一个进程之中可以包含多个线程
  • 线程可以共享一个进程的资源

标签:QQ,计算机程序,操作系统,哪些,详解,线程,进程,易懂
来源: https://www.cnblogs.com/classicltl/p/16152592.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有