阅读 66

进程与线程的关系,java中线程的定义

基本概念:线程,也就是轻量进程(LWP:Light Weight Process ),是程序执行流程的最小单位。 线程是进程的序列执行流。 同类型的多个线程共享一个内存空间和一组系统资源,线程本身有程序运行时的堆栈。 因为线程切换时的负荷小,所以线程也称为轻负荷进程。 一个进程可以包含多个线程。

要在一个进程中同时执行多项任务,必须同时执行多个子任务。 进程中的这些子任务称为线程。

多线程是指同时执行多个任务(在一个程序中同时执行多个线程进行不同的任务和工作),不是为了提高执行效率,而是提高资源的使用效率,提高系统的效率

3358www.Sina.com/ready、块和运行的三种基本状态。

就绪状态是指线程具备执行的所有条件,逻辑上可以执行,等待处理器;

表示线程占用处理器正在执行的执行状态;

阻塞状态意味着线程正在等待信号量等事件,无法逻辑执行。

基本状态:

1 .新建

由new语句创建的线程对象和其他java对象一样,只有内存是分配的。

2 .等待

在线程位于new之后且调用start方法之前,线程处于等待状态。

3 .准备完毕

创建一个线程对象后,其他线程将调用其start )方法,该线程将处于就绪状态。 处于此状态的线程位于Java虚拟机的可执行文件池中,等待cpu的使用权。

4 .运行状态

处于这种状态的线程占用CPU并执行程序代码。 在并发环境中,如果计算机只有一个CPU,则始终只有一个线程处于此状态。

只有处于就绪状态的线程才有机会转换到运行状态。

5 .阻滞状态

阻塞状态是指线程由于某种原因放弃CPU并暂时停止。 如果线程被阻止,Java虚拟机不会为线程分配CPU。 在线程返回就绪状态之前,CPU不会进入可执行状态。

闭塞状态分为三种:

1、JVM等待阻止执行:的线程执行wait ()方法,然后将该线程放入池中。

2、在同步块:上运行的线程获取对象的同步锁时,如果该同步锁被另一个线程占用,JVM会将该线程放入锁池。

3、如果在其它块:中运行的线程执行Sleep ()方法或发出I/O请求,JVM将阻止该线程。 当Sleep ()状态超时或I/O操作完成时,线程将返回就绪状态。

6 .死亡状态

线程run ) )方法中的代码执行完毕或遇到未捕获的异常时,run ) )方法结束,此时处于死亡状态,该线程将终止其生命周期。

状态间的转移:


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐