zoukankan      html  css  js  c++  java
  • Java 线程方法

    线程标识相关

    方法 描述
    public Thread(Runnable target, String name)
     带参数的构造方法, 第二个参数是线程名称
    public static Thread currentThread()
     静态方法, 返回当前线程
    public String getName()
     获取线程名称, 如果没指定, 默认 Thread-index
    public void setName(String name)
     设置线程名称
    public long getId()
     获取线程编号

    线程优先级相关

      不是绝对的优先级, 只是提升抢夺 CPU 概率

      有三个常量, MIN_PRIORITY(1); NORM_PRIORITY(5); MAX_PRIORITY(10); 默认是 NORM_PRIORITY

    方法 描述
    public int getPriority()
     获取线程优先级
    public void setPriority(int newPriority)
     设置线程优先级, 范围 1-10 

     

    阻塞相关方法

    方法 描述
    public void join() throws InterruptedException

     合并线程

     加入一个新线程, 当新线程执行完毕再执行当前线程

    public static void yield()

     线程让步, 静态方法

     让出 CPU 的使用权, 再次和别的线程抢夺 CPU 资源

     写在线程体内部( run() 方法里), 注意主线程没有 run() 方法

    public static void sleep(long millis) throws InterruptedException

     线程休眠, 静态方法

     暂定执行, 指定时间过后再次执行

     休眠期间不会释放锁, 意味着休眠期间别的线程不会做什么事儿, 因为获取不到锁

    public void wait(long timeout) throws InterruptedException
    public void wait() throws InterruptedException

     来自 Object 类

     能不使用就不使用, 很多书是这样说的, 我也没完全搞明白这个方法的原理~~~~

     线程等待, 如果指定时间, 该时间过后自动唤醒; 如果不指定, 需要使用 notify() 或 notifyAll() 来唤醒

     等待期间会释放锁, 唤醒之后再次尝试获取锁

     
    public void notify()
    public void notifyAll()

     来着 Object 类

     能不使用就不使用

     唤醒 wait() 的线程

     

  • 相关阅读:
    经典SQL语句大全
    SQL中With AS
    SQL Server 2008 r2 安装过程图解
    TFS2010中如何添加用户
    SQL中标准函数范例
    关闭子窗体时刷新父窗体
    sharepoint网站备份和还原
    LogHelper类
    TFS2010用户解锁
    ADHelper类
  • 原文地址:https://www.cnblogs.com/huanggy/p/9523248.html
Copyright © 2011-2022 走看看