多线程的生命周期---理解Java里的线程状态
来源:互联网 发布:淘宝客网站如何推广 编辑:程序博客网 时间:2024/05/29 19:40
理解线程的生命周期和线程状态对于使用多线程以及在多线程的环境下编程是非常重要的。
创建一个Java的多线程,我们可以通过实现Runnable借口或者继承Thread来实现。要启动一个线程,首先要创建线程的一个对象,然后调用Start()方法来启动一个线程。
下图展示了Java中线程的各个状态。注意,我们在Java里面创建并启动线程,但是线程怎样从Runnable--> Running-->Blocked/Wariting 状态,却依赖于实现线程调度器的操作系统。Java没有充分的控制权。
当我们使用new操作符创建一个线程对象时,线程的状态是New(创建状态)。在这个时候,线程并不是存活的,这只是Java的一个内部状态。
当我们调用线程的start()方法时,线程的状态将变成Runnable,同时Java将线程的控制权交给线程调度器,由线程调度器来完成接下来的工作。接下来是立即执行这个线程还是将这个线程放入可执行线程池中是由操作系统来决定的。
当线程被执行时,它的状态将变成Running。线程调度器从线程池中挑选出一个可执行的线程,然后将它的状态改为Running,同时CPU开始执行这个线程。当时间片结束或者执行完了run()方法或者等待其他资源时,线程的状态将变成Runnable,Dead,Blocked。
一个线程可能在等待子线程的完成或者等待其他的资源,比如“生产者消费者”或者等待IO资源,这时线程将变成Waiting。当Waiting状态一结束,这个线程将变成Runnable,然后重新回到可执行的线程池中。
当一个线程执行完成后,它就变成了Dead状态。这个时候认为它不再是存活的线程。
- 多线程的生命周期---理解Java里的线程状态
- 线程的生命周期 - 理解Java中线程的状态
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二):线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- Java多线程(二)、线程的生命周期和状态控制
- 循序渐进Java Socket网络编程(多客户端、信息共享、文件传输)
- 动态设置表结构方案(二)
- 如何在win7下设置mysql的环境变量
- 黑马程序员 Java基础知识总结-j集合框架
- 【TJOI2013】单词
- 多线程的生命周期---理解Java里的线程状态
- POJ 1328 Radar Installation(贪心)
- 数据包接收系列 — 上半部实现(内核接口)
- HTML段落的一些知识,挺简单的,呵呵
- c++中指针和引用的区别
- 手把手教你OPENCV FOR ANDROID 之二_ android开发环境搭建
- 最大匹配(匈牙利算法)
- Android中pendingIntent的深入理解
- 电脑怎样设置开机密码