新构造线程的优先级

时间:2011-05-14 12:28:51

标签: java multithreading

我创建了一个这样的新线程:

Runnable r=new Runnable() {
    public void run() {
      // content
    }
  }
  Thread th = new Thread();
  th.start(r);

新构造的线程的优先级是什么?

3 个答案:

答案 0 :(得分:2)

来自documentation

  

当代码在某个线程中运行时   创建一个新的Thread对象,即新对象   线程的优先级初始设置   等于创造的优先级   线程,并且是一个守护进程线程if和   只有创建线程是一个   守护进程。

但是,您可以使用setPriority()设置优先级。

答案 1 :(得分:1)

来自official documentation

  

当在某个线程中运行的代码创建一个新的Thread对象时,新线程有   它的优先级最初设置为等于创建线程的优先级(...)

答案 2 :(得分:1)

默认情况下,构造新的Thread时,它的运行优先级与构造的线程相同 它。大多数新线程由主线程直接或间接构造,因此将运行 优先级为5.这在许多情况下运行良好,但有时你会想要 提高或降低线程的优先级。 您可以通过在您想要的优先级的线程上调用getPriority()来确定当前优先级 检查。