不管是多线程还是多进程,实际上都不太可能一直占用CPU资源,所有多线程的几种状态一定要掌握。

多线程的状态如下图:
线程的运行状态
所有的系统费资源是有限的,不管是多线程还是多进程都必须在执行一段时间后让出资源,交由其他的线程继续执行。

  • 1、创建过程:开发者定义好了相应的线程类对象(每一个Thread类的实例都表示一个线程对象);
  • 2、就绪状态:多线程的启动依靠的是start()方法,但是一定要记住当调用start()方法时所有的线程不是立即执行,而是进入一个等待的状态,等待CPU进行调度;
  • 3、执行状态:当CPU执行调度了某一个线程对象之后,该线程对象开始执行run()方法或call()方法,但是这并不意味着线程一执行就持续占用CPU资源,而是在一段时间之后(一个时间片的时间之后),该线程就需要暂停执行;
  • 4、阻塞状态:当某个线程不再执行时(中断、休眠或调度失效),那么该线程将进入到阻塞状态,如果此时线程没有执行完毕则由阻塞状态切换到就绪状态,重新等待CPU的执行调度。
  • 5、终止状态:如果多线程的执行体执行完毕或者线程被强制性的结束,那么该线程就将进入终止状态,终止状态不会再进入到就绪状态,即:该线程将不会被继续执行。

相关文章:

  • 2018-11-07
  • 2021-09-13
  • 2018-04-06
  • 2020-11-14
  • 2021-08-03
  • 2021-09-29
  • 2019-07-27
  • 2021-08-13
猜你喜欢
  • 2019-08-29
  • 2021-08-12
  • 2021-09-27
  • 2018-05-22
  • 2021-10-10
  • 2021-12-15
  • 2021-02-19
  • 2020-12-25
相关资源
相似解决方案