• 线程状态,优先级及常用方法详解


    1.新建状态: 线程对象一旦创建就进入新建状态。Thread.State.NEW

    2.就绪状态: 当调用start()方法,线程立即进入就绪状态,等待cpu调度。  

    3.运行状态: cup调度,执行线程体的代码块。Thread.State.RUNNABLE

    4.阻塞状态: 当调用sleep(),wait(),或同步锁定时,线程进入阻塞状态,阻塞状态解除后,重新进入就绪状态,等待cpu调度。Thread.State.TIMED_WAITING

    5.死亡状态 : 线程中断或者结束后进入死亡状态(注意:死亡之后不能再启动)  Thread.State.TERMINATED

    注意:getState()方法获取线程状态

    线程优先级 

    Thread.currentThread().getPriority(); thread.setPriority(5);

    优先级的设定在线程start()调度之前

    优先级高低只是意味着获得调度的概率高低,并不是优先级低就不调用了,都是看CPU的调度

    线程常用方法:

    sleep() 来自 Thread,wait() 来自 Object。
    sleep() 不释放锁(只是让出了CPU);wait() 释放锁。
    sleep() 时间到会自动恢复;wait() 可以使用 notify()/notifyAll()直接唤醒,sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用;

    jion()  插队

    yield() 礼让 但并不一定成功。

    我话讲完!谁赞成?谁反对?
  • 相关阅读:
    JSP中page和pageContext的区别
    exe4j生成的exe文件没有把jre文件也打进exe文件中
    exe4j将jar文件和jre文件打包成exe
    exe4j打包jar文件为exe文件出现的问题:The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.
    JS作用域
    js 函数
    js数组
    js表达式和语句
    js操作符
    js注释和数据类型转换
  • 原文地址:https://www.cnblogs.com/wffzk/p/14806776.html
Copyright © 2020-2023  润新知