- 浏览: 55876 次
- 性别:
- 来自: 杭州
最新评论
1. 新建(new):新创建了一个线程对象。 2. 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 3. 运行(running):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。 4. 阻塞(block):阻塞状态是指线程因为某种原因放弃了cpu 使用权,也即让出了cpu timeslice,暂时停止运行。直到线程进入可运行(runnable)状态,才有机会再次获得cpu timeslice 转到运行(running)状态。阻塞的情况分三种: (一). 等待阻塞:运行(running)的线程执行o.wait()方法,JVM会把该线程放入等待队列(waitting queue)中。 (二). 同步阻塞:运行(running)的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池(lock pool)中。 (三). 其他阻塞:运行(running)的线程执行Thread.sleep(long ms)或t.join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入可运行(runnable)状态。 5. 死亡(dead):线程run()、main() 方法执行结束,或者因异常退出了run()方法,则该线程结束生命周期。死亡的线程不可再次复生。
发表评论
-
redis安装(windows.exe)
2014-05-21 22:54 745https://github.com/rgl/redis ... -
rabbitMQ安装(windows下)
2014-05-21 22:41 676进入项目下载主页面http://www.rabbitmq.co ... -
实现单线程的断点下载
2014-04-16 09:43 848/** * 实现单线程的断点下载 */ publ ... -
实现一个简易的http模拟器
2014-04-15 15:20 1812/** * http模拟器 * 模拟发送http请求和 ... -
xml学习鉴定
2014-04-09 23:33 846实现招生录取系统中的 ... -
xml学习
2014-04-08 22:47 1476XML:Extensible Markup Langu ... -
HTTP断点续传
2014-03-31 22:13 801http://fenglingcorp.iteye.com/b ... -
apt处理自定义annotation
2014-02-19 23:20 1028package annotations; import ... -
跳过UTF-8的BOM
2014-02-14 12:19 1508/** version: 1.1 / 2007-01-25 ... -
java reference
2014-02-09 00:36 679import java.lang.ref.PhantomR ... -
不带头结点的单链表面试汇总
2014-01-24 13:47 1500import java.io.ByteArrayInputSt ... -
带头节点的单链表面试题汇总
2014-01-23 15:12 1033import java.io.ByteArrayInput ... -
单链表面试题之-链表反转
2014-01-15 22:43 1107单链表反转 -------------------- ... -
java单链表-带头结点和不带头结点单链表的简单实现
2014-01-14 23:41 4935带头结点的单链表实现 public class LinkedL ... -
ClassLoader
2013-11-08 15:57 916public class ClassLoaderTest { ... -
URL和URI
2013-11-08 13:48 519private static void getData ... -
i++和++i
2013-11-06 15:26 530// i = i++ 计算过程 // temp = i; ... -
java 继承 多态
2013-11-06 15:19 810/** 运行结果: A's constructor co ... -
sealing violation
2013-11-03 16:10 3149一般以下两种情况会触发sealing安全异常 1)当被密封(s ... -
hashmap分析
2013-10-30 15:20 698/** hashmap底层维护着一个entry数组,每 ...
相关推荐
Java多线程中,线程的生命周期是编程中必须理解的重要概念。在JDK1.5之前,线程被划分为五个状态,分别是新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)。在JDK1.5及之后,线程的...
在Java编程语言中,多线程是核心特性之一,它允许程序同时执行多个任务,从而提高了应用程序的效率和响应性。本节我们将深入探讨Java中的多线程概念,包括其重要性、创建方法以及相关机制。 一、多线程的重要性 1....
在Java多线程编程中,线程间的通信是非常重要的概念,用于协调多个并发执行的任务。线程的状态转换是理解线程通信的基础,主要包括四个状态:新(New)、可执行(Runnable)、死亡(Dead)和停滞(Blocked)。新状态...
Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 Java线程:线程的调度-让步 Java线程:线程的调度-合并 Java线程:线程的调度-...
多线程线程状态转换图
《Java多线程编程实战指南》这本书深入浅出地讲解了Java多线程的核心概念和实战技巧,分为核心篇和设计模式篇,旨在帮助开发者掌握并应用多线程技术。 1. **线程基础** - **线程的创建**:Java提供了两种创建线程...
为了提高效率,可以采用多线程或者非阻塞I/O(如NIO,Java的新I/O库)来改进。但是,对于初学者来说,理解单线程阻塞模型是学习网络编程的基础,有助于深入理解Socket通信的工作原理。 此外,源码分析可以帮助我们...
Java多线程是Java编程中的核心概念,它允许程序同时执行多个任务,提高了系统的效率和响应性。在Java中,多线程的实现主要通过两种方式:继承Thread类和实现Runnable接口。理解并掌握多线程的使用对于任何Java开发者...
### Java线程:线程状态的转换 #### 一、线程状态及其转换 ...通过以上分析,我们可以看到Java线程状态转换的基本原理以及如何利用线程状态来控制线程的行为,这对于开发高性能、高可靠性的并发程序至关重要。
在IT领域,多线程是Java...总之,掌握Java多线程状态机变换是成为一名合格的Java开发者的必备技能。通过徐培成老师的讲解,学员可以深入理解多线程的概念,学会如何在实际项目中运用多线程技术,提升软件的并发性能。
### Java多线程编程经验 #### 一、Java线程:概念与原理 现代操作系统都是多任务操作系统,其中多线程是一种重要的实现多任务的方式。线程是进程内的一个执行单位,一个进程可以包含多个线程。例如,在Java应用...
Java线程状态流转图知识点总结 Java线程状态流转图是一种用于描述Java线程生命周期中不同的状态和状态...通过了解Java线程状态流转图,我们可以更好地理解Java线程的生命周期,并提高Java多线程编程的效率和可靠性。
### 最好的Java多线程电子书 #### 一、并发与多任务 - **并发**:指在同一时间段内,系统能够处理多个任务的能力。在计算机领域中,这意味着多个任务看起来像是同时进行的,但实际上可能是通过快速切换的方式实现...
Java多线程是Java编程中一个重要的概念,它允许程序同时执行多个任务,极大地提高了程序的效率和响应性。在Java中,多线程主要分为两种实现方式:通过子类化Thread类和实现Runnable接口。 1. 子类化Thread类: 当...
Java多线程是Java编程中的核心概念,尤其在开发高性能、高并发的应用时,多线程技术显得尤为重要。本系列视频教程将深入讲解Java多线程的各个方面,帮助你掌握如何在Java环境中创建、管理以及优化多线程程序。 首先...
Java多线程程序设计是Java开发中的重要领域,它允许应用程序同时执行多个任务,从而提高系统资源的利用率和程序的响应速度。在Java中,多线程主要通过两种方式实现:继承Thread类和实现Runnable接口。 一、创建线程...
《深入学习:Java多线程编程》是一本专注于Java并发技术的专业书籍,旨在帮助开发者深入理解和熟练运用Java中的多线程编程。Java多线程是Java编程中的核心部分,尤其在现代高性能应用和分布式系统中不可或缺。理解并...
本文将深入探讨Java多线程的核心概念、创建方式、线程状态转换、线程调度以及线程优先级调整。 首先,理解线程的基本概念至关重要。线程是进程中的一个执行单元,是操作系统调度的基本单位。与进程相比,线程更轻...
Java多线程设计模式是Java开发中的重要领域,它涉及到并发编程、系统性能优化以及程序的稳定性。在Java中,多线程允许程序同时执行多个任务,极大地提升了程序的执行效率。本资源提供了详细的Java多线程设计模式的...