Priority and execution order of Java threads
•
Java
Priority overview
public final void setPriority(int newPriority);
public final int getPriority();
Use priority
Example 1
package ch14; public class FirstThreadInput extends Thread { public void run() { System.out.println("调用FirstThreadInput类的run()重写方法"); //输出字符串 for(int i=0;i<5;i++) { System.out.println("FirstThreadInput线程中i="+i); //输出信息 try { Thread.sleep((int) Math.random()*100); //线程休眠 } catch(Exception e){} } } }
package ch14; public class SecondThreadInput implements Runnable { public void run() { System.out.println("调用SecondThreadInput类的run()重写方法"); //输出字符串 for(int i=0;i<5;i++) { System.out.println("SecondThreadInput线程中i="+i); //输出信息 try { Thread.sleep((int) Math.random()*100); //线程休眠 } catch(Exception e){} } } }
package ch14; public class TestThreadInput { public static void main(String[] args) { FirstThreadInput fti=new FirstThread@R_502_1373@; Thread sti=new Thread(new SecondThread@R_502_1373@); fti.setPriority(4); sti.setPriority(4); fti.start(); sti.start(); } }
调用FirstThreadInput类的run()重写方法 调用SecondThreadInput类的run()重写方法 FirstThreadInput线程中i=0 SecondThreadInput线程中i=0 FirstThreadInput线程中i=1 FirstThreadInput线程中i=2 SecondThreadInput线程中i=1 FirstThreadInput线程中i=3 SecondThreadInput线程中i=2 FirstThreadInput线程中i=4 SecondThreadInput线程中i=3 SecondThreadInput线程中i=4
fti.setPriority(1); sti.setPriority(10);
调用FirstThreadInput类的run()重写方法 调用SecondThreadInput类的run()重写方法 FirstThreadInput线程中i=0 SecondThreadInput线程中i=0 SecondThreadInput线程中i=1 SecondThreadInput线程中i=2 SecondThreadInput线程中i=3 SecondThreadInput线程中i=4 FirstThreadInput线程中i=1 FirstThreadInput线程中i=2 FirstThreadInput线程中i=3 FirstThreadInput线程中i=4
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码