Search code examples
javamultithreadingthread-priority

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?


Solution

  • 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.
    }