1. start():启动当前线程:调用当前线程的run()
  2. run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中
  3. currentThread():静态方法,返回执行当前代码的线程
  4. getName():获取当前线程的名字
  5. setName():设置当前线程的名字
  6. yield():释放当前CPU的执行权
  7. join():在线程a中调用b的join(),此时线程a就进入阻塞状态,直到线程b完全执行以后,线程a才结束阻塞状态。
  8. stop():已过时。当执行此方法时,强制结束当前线程
  9. sleep(long milltime):让当前线程“睡眠”指定的milltime毫秒。在指定的milltime毫秒时间内,当前线程是阻塞状态。
  10. isAlive():判断当前线程是否存活

    线程的优先级:


    1. MAX_PRIORITY:10
    2. MIN_PRIORITY:1
    3. NORM_PRIORITY:5
  11. 如何获取设置当前线程的优先级
    1. getPriority():获取线程的优先级
    2. setPriority(int p):设置线程的优先级
  12. 说明:高优先级的线程要抢占低优先级线程CPU的执行权。但是只是从概率上讲,高优先级的线程高概率的情况下被执行。
    并不意味者只有当高优先级的线程执行完以后,低优先级的线程才执行。
  • 线程通信: wait() / notify() / notifyAll() :此三个方法定义在Object类中的。

线程的分类

image.png