线程的五大状态(一)
任何一个线程都有五大状态:
- 创建状态:一个线程被new出来的时候
- 就绪状态:线程调用start方法的时候
- 运行状态:被cpu调度
- 阻塞状态:线程进入休眠等待调用
- 死亡状态:一个线程死亡时不可再次唤醒
关于线程的五大状态,有一些常用的方法
包括:setPriority(),jion().sleep(),yield(),interrupter(),isAlive()方法
线程停止
线程停止有两种方法:使用jdk提供的stop方法,或者让线程自己停下来,即当主线程停下来的时候,子线程就停了。
-
stop,一个线程直接调用stop方法即可
public class test { public static void main(String[] args) { test1 test1 = new test1(); Thread thread = new Thread(test1); thread.start(); thread.stop(); new Thread(new test1(),"小红").start(); } } class test1 implements Runnable { @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName()+i); } } }
此处直接调用stop方法,随后会发现小明的线程并没有执行,因为线程已经被停下了,这种方法虽然简单粗暴,但是很容易出错,所以已经被jdk废弃,不推荐使用
- 就是用flag标志位来停下线程
lag标志位来停下线程,推荐使用这种方法