Java中的进程and线程

简介:进程和线程,是伴随着人们对计算机的要求越来越高而出现的。

现在的计算机能同时完成很多事情:用eclipse敲着代码的同时,还听着酷狗播放的音乐,还时不时地在onenote上记着笔记。

 

  1. 计算机发展的历程(就是CPU利用率不断提高的过程)
    1. 手动输入指定,让计算机执行,计算机大部分时间处于等待输入状态
    2. 将指令记录在磁带上,由计算机自行读取指令,进行操作

问题:任务A,B如何让A读大量数据的时候,让B去占用空闲的CPU,A读取数据完毕,B让出CPU,A继续执行??

  1. 如果要满足b的情况,那么CPU就必须存储A,B,...的运行数据。进程的出现就迎合了这一点,一个进程对应内存的一块地址空间。

这就是并发,能够让操作系统从宏观上看起来同一时间段有多个任务执行。换句话说,进程让操作系统的并发成为可能。

  1. 线程的出现

线程出现前:我们用酷狗播放音乐的时候,必须等酷狗将整首歌缓冲完,然后才能听歌,因为进程在同一个时间段内,只能做一件事。

线程出现后:用酷狗听歌这一个进程中,就有了2个线程,一个线程在拉取缓存,一个线程在播放歌曲。

一个进程包含多个进程,但是这些线程是共同享有进程占有的资源和地址空间的。进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。

  1. java中关于应用程序和进程相关的概念

Java中,一个应用程序对应一个JVM实例(有的地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)Java采用的是单线程编程模型,即在我们自己的java.exe中如果没有主动创建线程的时候,只会创建一个线程,通常称为主线程。但是要注意,虽然只有一个线程执行任务,不代表JVM中只有一个线程,JVM实例在创建的时候,同时会创建很多其他的线程(比如垃圾收集器线程)。

当然,我们可以在我们的JVM进程中,创建除去主线程之外的其他线程。

下一篇博客讲:java中如何创建线程,和web项目启动线程的方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值