Java多线程 NEW RUNNABLE TERMINATED代码演示

客官°小女子只卖身不卖艺 2022-12-02 01:26 221阅读 0赞

文章目录

      • NEW RUNNABLE TERMINATED代码演示

NEW RUNNABLE TERMINATED代码演示

用如下的代码, 演示打印出线程的NEW RUNNABLE TERMINATED 三种状态.
先创建出线程的时候, 调用getState()方法进行打印, 此时应该是打印出NEW .
接着调用了start方法, 此时为RUNNABLE .
接着主线程休眠10ms, 让子线程进入运行中的状态, 此时打印线程状态应该也为RUNNABLE .
最后, 主线程休眠1s, 让子线程执行1s, 此时子线程的run方法的循环,执行完毕, 再次调用线程状态的方法, 应该打印出 TERMINATED

  1. public class ThreadNewRunnableTerminatedState implements Runnable {
  2. public static void main(String[] args) {
  3. Thread thread = new Thread(new ThreadNewRunnableTerminatedState());
  4. //NEW
  5. System.out.println( thread.getState());
  6. thread.start();
  7. //RUNNABLE
  8. System.out.println( thread.getState());
  9. try {
  10. Thread.sleep(10);
  11. } catch (InterruptedException e) {
  12. e.printStackTrace();
  13. }
  14. //RUNNABLE
  15. System.out.println( thread.getState());
  16. try {
  17. Thread.sleep(1000);
  18. } catch (InterruptedException e) {
  19. e.printStackTrace();
  20. }
  21. //TERMINATED
  22. System.out.println( thread.getState());
  23. }
  24. @Override
  25. public void run() {
  26. for (int i = 0; i < 10000; i++) {
  27. System.out.println(i);
  28. }
  29. }
  30. }

控制台的打印, 分别为如下的三张图, 如上面分析的一样 . 一开始打印的是 new runnable
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjI5NjY5_size_16_color_FFFFFF_t_70_pic_center
运行中也是打印runnable
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjI5NjY5_size_16_color_FFFFFF_t_70_pic_center 1
线程执行完毕, 打印 TERMINATED
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjI5NjY5_size_16_color_FFFFFF_t_70_pic_center 2

发表评论

表情:
评论列表 (有 0 条评论,221人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Runnable实现线

    下面是通过实现Runnable接口的方式实现多线程的几种写法,这种方式用的相对较多,因为相对于继承Thread类的方式而言,这种方式更加灵活,解决了java单继承的痛点。 写