package thread;
/*
* 线程的生命的周期
* 7种状态:出生状态-就绪状态-运行状态-等待状态-休眠状态-阻塞状态-死亡状态
* 出生状态:线程被创建时水的状态,用户在使用该线程实例调用start()方法之前线程都处于出生状态;
* 就绪状态(可执行状态):当用户调用了start()方法后线程处于就绪状态;
* 运行状态:当线程得到系统资源后就进入运行状态;
* 等待状态:当处于运行状态下的线程调用Thread类中的wait()时,线程就处于等待状态;
* 进入等待状态下的线程必须Thread类的notify()才能被唤醒,而notifyAll()方法是将所有处于等待状态下的线程唤醒
* 休眠状态:当线程调用Thread类中的sleep()时,则会进入休眠状态;
* 阻塞状态:如果一个线程在运行状态下发出输入/输出请求,该线程将进入阻塞状态;在其等待输入/输出结束时线程进入就绪状态。
* 对于阻塞的线程来说,即使系统资源空闲,线程依然不能回到运行状态
* 死亡状态:当线程的run()执行完毕时线程进入死亡状态;
*
*/
public class Thread的生命周期 {
/*
* 虽然多线程看起来像同步执行,但事实上同一时间点上只有一个线程被执行,只是线程间切换较快,所以会使人产生是线程同时进行的假象
* 线程处于就绪状态下的方法:
* 调用sleep()
* 调用wait()
* 等待输入/输出完成
* 当线程出入就绪状态后,可以用以下几种方法使线程再次进入运行状态
* 线程调用notify()
* 线程调用notifyAll();
* 线程调用interrupt();
* 线程的休眠时间结束
* 输入/输出结束
*/
public static void main(String[] args) {
}
}
/*
* 线程的生命的周期
* 7种状态:出生状态-就绪状态-运行状态-等待状态-休眠状态-阻塞状态-死亡状态
* 出生状态:线程被创建时水的状态,用户在使用该线程实例调用start()方法之前线程都处于出生状态;
* 就绪状态(可执行状态):当用户调用了start()方法后线程处于就绪状态;
* 运行状态:当线程得到系统资源后就进入运行状态;
* 等待状态:当处于运行状态下的线程调用Thread类中的wait()时,线程就处于等待状态;
* 进入等待状态下的线程必须Thread类的notify()才能被唤醒,而notifyAll()方法是将所有处于等待状态下的线程唤醒
* 休眠状态:当线程调用Thread类中的sleep()时,则会进入休眠状态;
* 阻塞状态:如果一个线程在运行状态下发出输入/输出请求,该线程将进入阻塞状态;在其等待输入/输出结束时线程进入就绪状态。
* 对于阻塞的线程来说,即使系统资源空闲,线程依然不能回到运行状态
* 死亡状态:当线程的run()执行完毕时线程进入死亡状态;
*
*/
public class Thread的生命周期 {
/*
* 虽然多线程看起来像同步执行,但事实上同一时间点上只有一个线程被执行,只是线程间切换较快,所以会使人产生是线程同时进行的假象
* 线程处于就绪状态下的方法:
* 调用sleep()
* 调用wait()
* 等待输入/输出完成
* 当线程出入就绪状态后,可以用以下几种方法使线程再次进入运行状态
* 线程调用notify()
* 线程调用notifyAll();
* 线程调用interrupt();
* 线程的休眠时间结束
* 输入/输出结束
*/
public static void main(String[] args) {
}
}