Home  >  Article  >  Java  >  Detailed explanation of Java thread priority examples

Detailed explanation of Java thread priority examples

Y2J
Y2JOriginal
2017-05-03 15:05:251277browse

This article mainly introduces relevant information about Java thread priority details and examples. Friends who need it can refer to

Java thread priority details and examples

The operating system basically uses time-division scheduling to run threads. The operating system will allocate time slices one by one, and threads will be assigned to several time slices. When the thread's time slice is used up, thread scheduling will occur and it will wait for the next scheduling. , the time slice a thread is assigned determines how much processor resources the thread uses, and the thread priority is the thread attribute that determines how much processor resources the thread can allocate.

In Java multi-threading, the priority is controlled through an integer variable priority. The priority ranges from 1-10. The default is 5, and the higher the priority, the better.

public class Priority { 
  public static void main(String[] args) { 
    Thread t1 = new Mythread(); 
    t1.setName("线程1"); 
    t1.setPriority(1); //设置优先级 
    Thread t2 = new Mythread(); 
    t2.setName("线程2"); 
    t2.setPriority(10); //设置优先级 
    t1.start(); 
    t2.start(); 
  }  
} 
class Mythread extends Thread{ 
  @Override 
  public void run() { 
    for(int i=0;i<10;i++){ 
      System.out.println(getName()+"执行"+i+"次"); 
    } 
  } 
}

Execution result:

线程2执行0次 
线程2执行1次 
线程2执行2次 
线程2执行3次 
线程2执行4次 
线程2执行5次 
线程2执行6次 
线程2执行7次 
线程2执行8次 
线程2执行9次 
线程1执行0次 
线程1执行1次 
线程1执行2次 
线程1执行3次 
线程1执行4次 
线程1执行5次 
线程1执行6次 
线程1执行7次 
线程1执行8次 
线程1执行9次

We can see that the system will execute thread 1 first. However, thread 1 will not be executed first every time, especially when the priority difference between the two threads is not very big, the thread priority is basically of little effect. Thread priority cannot be relied upon for program correctness because the operating system can completely ignore Java thread priority decisions.

The above is the detailed content of Detailed explanation of Java thread priority examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn