zoukankan      html  css  js  c++  java
  • Android-Thread线程的状态

    介绍Thread线程的状态之前,必须要讲解CPU执行线程的随机性:

     例如:有五个线程,CPU中央处理器,在执行这五个线程的时候,有可能先执行Thread-0,有可能先执行Thread-3,等等,都有可能

                                     有可能执行到Thread-2 执行了一半,然后又去执行Thread-1了,等等,都有可能

                                  ....

    意思就是:Thread-0/Thread-1/Thread-2/Thread-3,都已经.start();了,那Thread-0/Thread-1/Thread-2/Thread-3 都有CPU执行资格,但是这些线程CPU执行权不一定有。

    最简单的Thread运行状态:

    完整的Thread运行状态:

    1.当start(); 后有可能马上就是运行状态(具备CPU执行权),也有可能是临时阻塞状态(不具备CPU执行权)

    2.例如:有两个线程 Thread-0 / Thread-1 / Thread-2,当Thread-1被CPU执行(代表具备CPU执行权) 这个时候Thread-0/Thread-2(临时阻塞状态 不具备CPU执行权)

    3.线程的结束,在之前早期的Java版本,是可以.stop(); 结束线程的,但是这种方式Java的设计者们认为不安全,所以被过时了,目前结束线程的方式是 run方法执行结束就代表线程结束

    4.关于冻结状态:sleep(5000) 就会冻结5秒,冻结的时候,没有CPU执行资格 更没有CPU执行权,5秒过后就有可能回到临时阻塞状态,也有可能回到运行状态

    5.关于冻结状态:wait();后 会一直处于冻结状态,自己没法回到 运行状态/临时阻塞状态,需要调用notify(); ,       注意:还有一个方法 notifyAll(); 唤醒全部

  • 相关阅读:
    张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结
    预备作业03——20162329张旭升
    预备作业02 : 体会做中学-20162329 张旭升
    预备作业01——20162329
    FPGA的软核与硬核
    网页调用vlc并播放网络视频
    vue视频插件VLC
    vue+vue-video-player实现弹窗播放视频
    【面向对象程序设计】作业三
    【面向对象程序设计】作业二
  • 原文地址:https://www.cnblogs.com/android-deli/p/10226487.html
Copyright © 2011-2022 走看看