线程调度和线程控制

2020-10-26 10:37:43 浏览数 (1)

线程调度和线程控制

线程调度(优先级):

与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线 程获取 CPU 资源的概率较大,优先级低的并非没机会执行。线程的优先级用 1-10 之 间的整数表示,数值越大优先级越高,默认的优先级为 5。 在一个线程中开启另外一 个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。

线程控制

  • sleep( ) // 线程休眠
  • join( ) // 线程加入
  • yield( ) // 线程礼让
  • setDaemon( ) // 线程守护

中断线程

• stop( ) interrupt( ) ==(首先选用)==

什么是线程饿死,什么是活锁?

当所有线程阻塞,或者由于需要的资源无效而不能处理,不存在非阻塞线程使资源可用。 JavaAPI 中线程活锁可能发生在以下情形:

  • 当所有线程在序中执行 Object.wait(0),参数为 0 的 wait 方法。 程序将发生 活锁直到在相应的对象上有线程调用 Object.notify() 或者 Object.notifyAll()。
  • 当所有线程卡在无限循环中。

0 人点赞