线程(1)---线程的状态(State)
来源:互联网 发布:大疆一键全景软件下载 编辑:程序博客网 时间:2024/04/30 09:53
新生状态(New): 当一个线程的实例被创建即使用new关键字和Thread类或其子类创建一个线程对象后,此时该线程处于新生(new)状态,处于新生状态的线程有自己的内存空间,但该线程并没有运行,此时线程还不是活着的(not alive);
就绪状态(Runnable): 通过调用线程实例的start()方法来启动线程使线程进入就绪状态(runnable);处于就绪状态的线程已经具备了运行条件,但还没有被分配到CPU即不一定会被立即执行,此时处于线程就绪队列,等待系统为其分配CPCU,等待状态并不是执行状态; 此时线程是活着的(alive);
运行状态(Running): 一旦获取CPU(被JVM选中),线程就进入运行(running)状态,线程的run()方法才开始被执行;在运行状态的线程执行自己的run()方法中的操作,直到调用其他的方法而终止、或者等待某种资源而阻塞、或者完成任务而死亡;如果在给定的时间片内没有执行结束,就会被系统给换下来回到线程的等待状态;此时线程是活着的(alive);
阻塞状态(Blocked):通过调用join()、sleep()、wait()或者资源被暂用使线程处于阻塞(blocked)状态;处于Blocking状态的线程仍然是活着的(alive)
死亡状态(Dead):当一个线程的run()方法运行完毕或被中断或被异常退出,该线程到达死亡(dead)状态。此时可能仍然存在一个该Thread的实例对象,当该Thready已经不可能在被作为一个可被独立执行的线程对待了,线程的独立的call stack已经被dissolved。一旦某一线程进入Dead状态,他就再也不能进入一个独立线程的生命周期了。对于一个处于Dead状态的线程调用start()方法,会出现一个运行期(runtime exception)的异常;处于Dead状态的线程不是活着的(not alive)。
http://www.cnblogs.com/DreamSea/archive/2012/01/11/JavaThread.html
就绪状态(Runnable): 通过调用线程实例的start()方法来启动线程使线程进入就绪状态(runnable);处于就绪状态的线程已经具备了运行条件,但还没有被分配到CPU即不一定会被立即执行,此时处于线程就绪队列,等待系统为其分配CPCU,等待状态并不是执行状态; 此时线程是活着的(alive);
运行状态(Running): 一旦获取CPU(被JVM选中),线程就进入运行(running)状态,线程的run()方法才开始被执行;在运行状态的线程执行自己的run()方法中的操作,直到调用其他的方法而终止、或者等待某种资源而阻塞、或者完成任务而死亡;如果在给定的时间片内没有执行结束,就会被系统给换下来回到线程的等待状态;此时线程是活着的(alive);
阻塞状态(Blocked):通过调用join()、sleep()、wait()或者资源被暂用使线程处于阻塞(blocked)状态;处于Blocking状态的线程仍然是活着的(alive)
死亡状态(Dead):当一个线程的run()方法运行完毕或被中断或被异常退出,该线程到达死亡(dead)状态。此时可能仍然存在一个该Thread的实例对象,当该Thready已经不可能在被作为一个可被独立执行的线程对待了,线程的独立的call stack已经被dissolved。一旦某一线程进入Dead状态,他就再也不能进入一个独立线程的生命周期了。对于一个处于Dead状态的线程调用start()方法,会出现一个运行期(runtime exception)的异常;处于Dead状态的线程不是活着的(not alive)。
http://www.cnblogs.com/DreamSea/archive/2012/01/11/JavaThread.html
0 0
- 线程(1)---线程的状态(State)
- 线程的分离状态(detached state)
- 线程的分离状态(detached state)
- 获取线程状态state
- 关于线程(二)线程的状态
- 线程的生命周期(线程状态)
- Java基础:多线程(1)--线程的概述、创建线程的方式、线程的多种状态、线程常用的方法
- 1.1.2获取和控制线程状态(Getting and Seeting Thread State)
- 线程状态,多线程的使用,线程的通信(总结)
- Java线程(四)-线程状态的转换
- iOS开发之多线程(线程的状态)
- ruby线程操作(续)线程的状态
- iOS 【Multithreading-创建线程的方式/线程状态(了解)】
- java之多线程(三)线程的状态
- 关于多线程(一)---线程的状态
- 线程初步(1)—— 线程的创建、参数和返回值、结束、状态、取消
- Java线程系列(1)——thread dump格式、锁与线程的状态
- java线程(一):线程创建与线程状态
- Windows下搭建IOS开发环境(二)
- Android声明和使用权限
- 往事随风 ——记我的OI生涯
- 线程(1)---Thread 与 Runnable区别
- 安装Vmware tools
- 线程(1)---线程的状态(State)
- 基础总结篇之五:BroadcastReceiver应用详解
- git操作之同步分支
- 线程(1)----Thread的方法函数
- 把二元查找树转变成排序的双向链表
- 线程(1)----线程与进程
- 文件
- 线程(1)----线程停止
- 【西祠日志】【08】周五周五,一周又结束,有点困惑未了