进程与线程

一,什么是进程?

进程是操作系统结构的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

我们打开任务管理器:

此时我们完全可以将运行在内存内存中的exe文件理解成进程(进程是受操作系统管理的基本运行单元)。程序其实就是指令序列,这些指令可以让cpu完成指定的任务。在Java中,.java文件经过编译之后形成.class文件,而在windows中启动一个jvm虚拟机就相当于创建了一个进程,在虚拟机中加载class文件并运行。

二,什么是线程?

线程其实是进程中独立运行的子任务,例如:wechat.exe运行时,很多的子任务也在同时运行,加好友线程,下载文件线程,传输数据线程,发送表情线程等等。微信中的每一个功能都有对应的线程在后台默默地运行。

三,什么是多线程?

一个进程中至少有一个线程存在,即是主线程。多个线程之间可以共享进程中相同的内存或文件资源。在使用windows系统是,我们可以利用cpu的空闲时间来处理其他任务,比如我们可以一边浏览贴吧一边听歌。cpu在这些任务中不停的进行切换,由于切换的速度非常快,给我们的感受就是这些任务在同时执行(时间片轮转调度算法),所以使用多线程技术可以在同一时间内执行更多的不同任务。

在不使用多线程的情况下,我们可以将cpu处理每个线程的情况看作是一个队列,必须等到先入队的线程被执行完毕之后才能运行下一个线程,在同一时间只能执行一个任务,cpu利用率大幅降低而在使用了多线程之后,cpu在这些线程中来回切换,在同一时间可以执行多个任务,这也是多线程技术的优点。

 

 

四,进程和线程的区别:

1.相对而言进程是一个比较大的概念,一个进程至少包含一个线程,但是进程中线程的数目太多了,线程之间就会更频繁地进行调度,此时调度的开销就无法忽略;

2.进程和进程之间不共享内存空间,但一个进程的线程之间共享一个内存空间,也就是说,进程负责向操作系统申请资源,在一个进程中,多个线程可以共享进程中相同的内存或文件资源。

3.进程是系统分配资源的最小单位而线程是系统调度的最小单位。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值