《java程序设计基础》线程的概念

以往开发的程序大多都是单线程,即一个程序只有从头到尾的一条执行路径。然而现实世界中的很多过程都具有多条途径同时运作的特征。
1.程序、进程、多任务与线程
(1)程序:程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。
(2)进程:进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程的动态的。
(3)多任务:多任务是指在一个系统中可以同时运行多个进程,即有多个独立运行的任务,每一个任务对应一个进程。
(4)线程:对于完全不相关的程序而言,在同时执行时,彼此的进程也不会做数据交换的工作,而可以完全独立的运行。但是对于同一程序所产生的多个进程,通常是因为程序设计者希望能加快整体工作的效率,运用多个进程协同工作。
注意:多任务和多线程的两个不同的概念,多任务是对于操作系统而言的,表明可以同时运行多个程序,而多线程是针对一个进程而言的,表示在一个进程内部可以同时执行多个线程。
2.线程的状态和生命周期
(1)新建状态:当一个Thread类或其子类的对象被声明并创建,但还未被执行的这段时间里,处于一种特殊的新建状态。
(2)就绪状态:就绪状态也称为可运行的状态。
(3) 执行状态:当就绪状态的线程被调度并获得CPU资源时,便进入执行状态。
(4)阻塞状态:一个正在执行的线程如果在某些特殊的情况下,将让出CPU并暂时中止自己的执行,线程处于这种不可执行的状态被称为阻塞状态。
(5)消亡状态:处于消亡状态的线程不具有继续执行的能力。
3.线程的优先级与调度
优先级:每个线程都被赋予一个执行优先级。java语言中的优先级1~10一共十级。
调度:调度就是指在各个线程之间分配的CPU资源。多个线程的并发执行实际上是通过一个调度来进行的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值