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(); 唤醒全部

  • 相关阅读:
    眼睛的颜色 博弈
    codevs1281 矩阵乘法 快速幂 !!!手写乘法取模!!! 练习struct的构造函数和成员函数
    10 25日考试 数学题目练习 斐波拉契 打表
    线段树 模板
    榨取kkksc03 luogu1855 dp 裸二维费用背包
    低价购买 洛谷1108 codevs4748 dp
    [转] 经典排序算法
    [USACO08DEC] Trick or Treat on the Farm
    [NOIP2009] 靶形数独(搜索+剪枝)
    各种蒟蒻模板【如此简单】
  • 原文地址:https://www.cnblogs.com/android-deli/p/10226487.html
Copyright © 2011-2022 走看看