线程、进程的基本知识

作者 : 开心源码 本文共968个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共160人阅读

1.为什么要引入多进程和多线程?

????????计算机的作用在于辅助人们处理问题或者者说完成某些特定的工作,假设计算机一次只能处里一个工作。如打开qq的时候不能解决其余的任何事情,不能听音乐,不能看视频,不能编辑文档,这显然是不能满足人们的日常需求的。故而,引入多进程以处理同时运行多个程序的需求。

????????同样的起因,假如一个进程只能按顺序解决一系列的任务,我们在使用qq给其中一个好友发送信息的时候,将无法同时接收到来自于其余好友的信息,因而引入多线程技术。

可以这样了解:单线程好像只雇佣一个服务员的餐厅,他必需完成一件事情之后才可以做下一件事;多线程的程序好像雇佣多个服务员的餐厅,他们可以同时做很多事情而且几乎互不干扰

2.进程和线程的概念:

????进程简单来说就是运行中的程序,如chrome浏览器程序,当它未加载进内存进行运行的时候就是一个静态的程序;当它加载进内存运行时就是动态的一个进程。进程是一个动态的概念,它有自己的生命周期和各种不同的状态;进程是系统进行资源分配的和调度的一个基本单位。

? ? 多线程则拓展了多进程的概念,使得同一个进程可以同时并发(或者并行)解决多个任务。线程因而也被称为轻量级的进程。每一个程序开始运行的时候至少都会创立一个主线程,线程之间也是互不干扰的,但与进程和进程之间的关系不同,同一个进程的线程之间共用父进程的资源,即线程不单独占有这些资源。

3.图示并发(Concurrency)和并行(Parallel):

其实从英语字面上来了解并发和并行是比较容易的;

多个线程并发执行

其中较粗的箭头表示的是两个独立的线程,细的箭头表示cpu执行跳转(实际上可能没有这么规律),故并发并非真正的同时执行,只是由于cpu跳转时间间隔非常短使得看上去两个线程(或者进程)像在同时运行着。

多个线程并行执行

图中假设有一个四核的cpu,每个cpu上都单独运行着一个线程,它们是真正的同时运行着。

4.图示进程和线程:

系统中的线程和进程(理想模型)

图中展现了一个运行着6个进程的操作系统的理想模型,我们将绿色作为系统资源的分块,可以看到每个进程都有自己独立的资源分块;而线程(途中带箭头的直线)之间只能公用父进程所提供的资源,它们都是按依次按序往下执行的且互不干扰;

以上为本人学习总结,本人学问尚浅,如有错误望指正。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 线程、进程的基本知识

发表回复