albertlee Posted July 21, 2005 Posted July 21, 2005 Situation 1) setPriority(int adsa) public class ThreadPrioDemo1 { static class Demo1 implements Runnable{ public void run(){ //blablabla} } public static void main(String[] asdf){ Runnable r = new Demo1(); Thread myThread = new Thread(r); Thread mainT = Thread.currentThread(); //mainT's priority is 5, so as myThread. mainT.setPriority(10); //mainT's priority to MAX, this simultaneously changes myThread to 10 as well. //or myThread.setPriority(10); //myThread priority to MAX, however, this does not change mainT to 10 } } Question 1), why if main Thread is set to a certain priority, the thread it creates automatically change its priority to the same as well, but the reverse is not?? Situation 2) this is slightly more complex public class ImplementingRunnable { public static void main(String[] args) { Thread mainT = Thread.currentThread(); for(int ii=0 ; ii<args.length ; ii++) { Runnable r = new MyRunnable(args[ii]); Thread t = new Thread(r); t.setDaemon(true); //t.setPriority(Thread.MAX_PRIORITY); t.start(); } } } and public class MyRunnable implements Runnable { public void test(){ System.out.println("test"); } String message; public MyRunnable(String msg) { message = msg; } public void run() { Thread me = Thread.currentThread(); try { for(int ii=0 ; ii><10 ; ii++) { //case (1) me.setPriority(Thread.MIN_PRIORITY); me.sleep(3); System.out.println(message); //case (2) me.setPriority(Thread.MIN_PRIORITY); } } catch (InterruptedException ie) { } } } In class ImplementingRunnable, how is the commented code line related or counter-related with the commented case 1 code line in MyRunnable?? Please help thanks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now