Thread类常用方法以及线程优先级

 Thread常用方法

  1. start():启动当前线程;调用当前线程的run()方法。
  2. run():通常情况下需要重写Thread类中的词方法,将创建的线程要执行的操作声明在此方法中。
  3. currentThread():静态方法,返回执行当前代码的线程。
  4. yield():线程让步。暂停当前正在执行的线程,把执行机会让给优先级相同或更高的线程;若队列中没有同优先级的线程,忽略此方法。
  5. join():当某个线程执行流程中调用其他线程的join()方法时,调用线程将被阻塞,直到join()方法加入的线程执行完为止;调用此方法可以使得低优先级的线程也可获得执行。
  6. sleep(long millis):静态方法,令当前活动线程在指定时间段内放弃对CPU控制,是其他线程有机会被执行,时间到后重新排队;调用该方法会抛出InterruptedEcption异常。
  7. isAlive():返回boolean,判断线程是否还活着。
  8. stop():强制结束线程生命期。已废弃,不推荐使用。

线程优先级

  • 优先级

MAX_PRIORITY:10

MIN_PRIORITY:1

NORM_PRIORITY:5   (默认优先级)

  • 如何获得和设置优先级

getPriority():获取线程的优先级;

setPriority(int p):设置线程优先级;

说明:高优先级的线程可以抢占低优先级的线程cpu中权。但从概率上讲,高优先级的线程会在高概率的情况下被执行,并不意味着只有当高优先级的线程执行完才会执行低优先级的线程,只是优先级越高被分配cpu的概率越高。 

发布了49 篇原创文章 · 获赞 34 · 访问量 6895

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/104083431