$show=/label

Java Thread characteristic Thread Priority - Multithreading

SHARE:

A quick guide to Thread characteristic - Thread Priority in Java. How thread priority works in concurrent applications.

1. Introduction


In this article, We will understand one of two characteristics of Threads because those two are crucial for better analysis and debugging the issues. Here are the key factors of threads are Priority ad its State.

We have already explained how to create a thread using the Thread class and Runnable interface.

Remember, To run a java program one thread is required. When you are executing a program JVM will create a thread called Main thread that is the only thread created in normal and concurrent applications.

In java, Threads share all the resources of the application, including memory and open files. This is a powerful tool because they can share information in a fast and easy way but need to avoid race conditions using proper synchronization.

Java Thread characteristic Thread Priority  - Multithreading




2. Thread Priority


In Java, All threads have their own default priority when a thread is created. Thread priority is an integer value that can be between 0 and 10. Thread class has provided with 3 predefined priority constants such as MAX_PRIORITY(10), MIN_PRIORITY(1) and NORM_PRIORITY(5). All are defined as static in Thread class and can be invoked directly with the class name. All threads are created with default Thread.NORM_PRIORITY. But this can be changed using the setPriority(int value) method and getPriority() is to retrieve the current thread priority.

package com.java.w3schools.blog.java.program.to.threads;

public class ThreadPriorityExample {

 public static void main(String[] args) {

  // Getting the current executing thread.
  Thread thread = Thread.currentThread();
  System.out.println("Current thread name: " + thread.getName());

  int maxPriority = Thread.MAX_PRIORITY;
  int minPriority = Thread.MIN_PRIORITY;
  int normPriority = Thread.NORM_PRIORITY;

  System.out.println("Thread max priority : " + maxPriority);
  System.out.println("Thread min priority : " + minPriority);
  System.out.println("Thread norm priority : " + normPriority);

  // default thread priority
  System.out.println("Current thread priority : " + thread.getPriority());

  // new thread
  Thread thread2 = new Thread();

  // default thread priority
  System.out.println("New thread" + " priority : " + thread2.getPriority());

  // changing the priority
  thread.setPriority(1);
  thread2.setPriority(2);

  System.out.println("After change Current thread priority : " + thread.getPriority());
  System.out.println("After change New thread" + " priority : " + thread2.getPriority());

 }

}

Output:

Current thread name: main
Thread max priority : 10
Thread min priority : 1
Thread norm priority : 5
Current thread priority : 5
New thread priority : 5
After change Current thread priority : 1
After change New thread priority : 2

Normally, threads created with higher priority will be executed before lower-priority threads. As we told, thread priority can be changed with the setPriority() method but this is not a serious contract between JVM and underlying operating system to make it execute first. These two are just hints to JVM and OS, but no guarantee on these.

3. Child Threads Priority


Child threads will get the priority from its parent thread.

package com.java.w3schools.blog.java.program.to.threads;

public class ThreadPriorityChildThreads {

 public static void main(String[] args) {

  // Getting the current executing thread.
  Thread thread = Thread.currentThread();
  System.out.println("Current thread name: " + thread.getName());

  thread.setPriority(7);
  System.out.println("main thread priority : " + thread.getPriority());

  Thread child = new Thread();
  System.out.println("Child thread 1 priority : " + child.getPriority());

  Thread child2 = new Thread();
  System.out.println("Child thread 2 priority : " + child2.getPriority());
 }

}

Output:


Current thread name: main
main thread priority : 7
Child thread 1 priority : 7
Child thread 2 priority : 7

4. Conclusion


In this article, We have seen What is Thread Priority? What is the default thread priority? How to change the priority? What is the priority of child threads?

Next, Article on the Thread States.

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,7,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,22,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,81,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,4,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,9,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,29,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,66,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,2,Java Programs,65,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Conversions,3,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Logging,1,Mac OS,2,Math,1,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,1,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,21,String,58,String Programs,9,String Revese,1,Swing,1,System,1,Tags,1,Threads,10,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java Thread characteristic Thread Priority - Multithreading
Java Thread characteristic Thread Priority - Multithreading
A quick guide to Thread characteristic - Thread Priority in Java. How thread priority works in concurrent applications.
https://1.bp.blogspot.com/-v-OWWB4PJh4/XiHs4paEtEI/AAAAAAAACNQ/4oL1ONGxocUCqSmHuCCY3pbrVYEOhB7lwCLcBGAsYHQ/s640/Java%2BThread%2Bcharacteristic%2BThread%2BPriority%2B%2B-%2BMultithreading.png
https://1.bp.blogspot.com/-v-OWWB4PJh4/XiHs4paEtEI/AAAAAAAACNQ/4oL1ONGxocUCqSmHuCCY3pbrVYEOhB7lwCLcBGAsYHQ/s72-c/Java%2BThread%2Bcharacteristic%2BThread%2BPriority%2B%2B-%2BMultithreading.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/01/java-thread-priority.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/01/java-thread-priority.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content