Guy Guy - 11 days ago 5
Java Question

Setting priority to Java's threads

I have a program that runs in a few threads. The main thread shares an object with the other threads and in the main I have a call to:

synchronized(obj){
do stuff
}


I have a suspicion that the main thread is starved and isn't getting access to
obj
. How do I raise the priority of the main thread or is it already higher than the other threads by default?

Answer

You have a setPriority() method in the Thread class.

Check this javadoc.

Setting thread priority to maximum:

public static void main(String args[]) {
    Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
    // Your main code.
}
Comments