了解线程与进程-并发与并行的基本区别

本文详细解释了进程和线程的概念及区别,包括资源分配、调度单位的不同,并介绍了并行与并发的特点。此外还提到了Java中的多线程概念。

进程

定义:进程是程序的一次执行,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
• 进程是系统进行资源分配和调度的独立单位。每一个进程都有它自己的内存空间和系统资源。

线程

• 线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径)。是程序使用CPU的最基本单位。
打开任务管理器点到性能我们可以直观的看到进程与线程数。
在这里插入图片描述虽然进程已经是可以进行资源分配和调度了,但是进程实现多处理机环境下的进程调度,分派,切换时,都需要花费较大的时间和空间开销,所以引入了线程:引入线程主要是为了提高系统的执行效率,减少处理机的空转时间和调度切换的时间,以及便于系统管理。
举例说明:我们打开浏览器算一个进程,浏览器中每打开一个页面算一个线程。
所以说在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。一个进程会有1个或多个线程的!

进程与线程的区别

  1. 线程是CPU调度和分配的基本单位,进程是系统资源分配和调度的基本单位。
  2. 进程是由操作系统来控制的,而线程是由进程来控制的。
  3. 一个进程至少有一个线程,一个线程必须隶属于某个进程。
  4. 进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。

并行与并发

•并行:
1.并行性是指同一时刻内发生两个或多个事件。
2. 并行是在不同实体上的多个事件
3. 并行在多台处理器上同时处理多个任务
•并发:
1.并发性是指同一时间间隔内发生两个或多个事件。
2.并发是在同一实体上的多个事件。
3.并发在一台处理器上切换处理多个任务。
例:CPU 一核 ,模拟出来多条线程,快速交替
由此可见:并行是针对进程的,并发是针对线程的。
java相对有两个线程,main线程和GC线程

多线程

多线程方式是指在一个程序中存在多个线程,每一个线程执行一个独立的任务,多个线程可以并发执行。
多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率,程序的执行其实都是在抢CPU的资源,CPU的执行权。多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值