In this article, we'll see a new way to create thread in Java 8 and also revise the basic two ways to create thread with the help of lambda expression. Main focus of the topic is method reference and how to use thread with lambda expression. If you want to revise the basic concept of thread check this post and this post for lambda concept.
Creating a Thread in Java
The Java API makes it easy to work with threads. It lets you represent a thread as an object. An object of the java.lang.Thread class represents a thread. Creating and using a thread in Java is as simple as creating an object of the Thread class and using that object in a program. Let’s start with the simplest example of creating a thread in Java. There are at least two steps involved in working with a thread:
Creating an object of the Thread class is the same as creating an object of any other classes in Java. In its simplest form, you can use the default constructor of the Thread class to create a Thread object.
Creating an object of the Thread class allocates memory for that object on the heap. It does not start or run the thread. After you have created an object of the Thread class, you must call its start() method to start the thread represented by that object.
Example
The start() method returns after doing some housekeeping work. It puts the thread in the runnable state. In this state, the thread is ready to receive the CPU time. Note that invoking the start() method of a Thread object does not guarantee “when” this thread will start getting the CPU time. That is, it does not guarantee when the thread will start running. It just schedules the thread to receive the CPU time.
Three ways to create thread
There are three ways you can specify your code to be executed by a thread
Inheriting Your Class from the Thread Class
When you inherit your class from the Thread class, you should override the run() method and provide the code to be executed by the thread.
Implementing the Runnable Interface
You can create a class that implements the java.lang.Runnable interface. Runnable is a functional interface and it is declared as follows
@FunctionalInterface
public interface Runnable
Using a Method Reference
Check this post for detail on method reference. From Java 8, you can use the method reference of a method of any class that takes no parameters and returns void as the code to be executed by a thread.
The following code declares a ThreadTest class that contains an execute() method. The method contains the code to be executed in a thread.
The thread will execute the code contained in the execute() method of the ThreadTest class
Final example
If you know anyone who has started learning Java, why not help them out! Just share this post with them.Thanks for studying today!...
Creating a Thread in Java
The Java API makes it easy to work with threads. It lets you represent a thread as an object. An object of the java.lang.Thread class represents a thread. Creating and using a thread in Java is as simple as creating an object of the Thread class and using that object in a program. Let’s start with the simplest example of creating a thread in Java. There are at least two steps involved in working with a thread:
- Creating an object of the Thread class
- Invoking the start() method of the Thread class to start the thread
Creating an object of the Thread class is the same as creating an object of any other classes in Java. In its simplest form, you can use the default constructor of the Thread class to create a Thread object.
// create a new thread
Thread simpleThread = new Thread();
Creating an object of the Thread class allocates memory for that object on the heap. It does not start or run the thread. After you have created an object of the Thread class, you must call its start() method to start the thread represented by that object.
//start the thread
simpleThread.start();
Example
The start() method returns after doing some housekeeping work. It puts the thread in the runnable state. In this state, the thread is ready to receive the CPU time. Note that invoking the start() method of a Thread object does not guarantee “when” this thread will start getting the CPU time. That is, it does not guarantee when the thread will start running. It just schedules the thread to receive the CPU time.
Three ways to create thread
There are three ways you can specify your code to be executed by a thread
- By inheriting your class from the Thread class
- By implementing the Runnable interface in your class
- By using the method reference to a method that takes no parameters and returns void
Inheriting Your Class from the Thread Class
When you inherit your class from the Thread class, you should override the run() method and provide the code to be executed by the thread.
Implementing the Runnable Interface
You can create a class that implements the java.lang.Runnable interface. Runnable is a functional interface and it is declared as follows
@FunctionalInterface
public interface Runnable
![]() |
Using a Method Reference
Check this post for detail on method reference. From Java 8, you can use the method reference of a method of any class that takes no parameters and returns void as the code to be executed by a thread.
The following code declares a ThreadTest class that contains an execute() method. The method contains the code to be executed in a thread.
The thread will execute the code contained in the execute() method of the ThreadTest class
Final example
If you know anyone who has started learning Java, why not help them out! Just share this post with them.Thanks for studying today!...
Nice and Valuable information you explained in this article I loved it more, it useful for me a lot. Bookmarked your site.
ReplyDeleteRegards,
Java Training in Hyderabad
Java Training in India
Java Training Institutes in India
Java Training Institutes in Hyderabad
Java Course in Hyderabad
Java Training
I am technology Enthusiast. Your blog is really awesome, attractive and impressive. I like the way you think. it is very useful for Java SE & Java EE Learners. Your article adds best knowledge to our Java Online Training in India. or learn thru Java Online Training in India Students. or learn thru JavaScript Online Training in India. Appreciating the persistence you put into your blog and detailed information you provide. Kindly keep blogging.
ReplyDeleteNice blog..! I really loved reading through this article... Thanks for sharing such an amazing post with us and keep blogging...
ReplyDeleteios app development course
simply awesome explanation ...here i got one more useful example for method reference and got a new way to create thread in java
ReplyDeleteCOEPD LLC - Center of Excellence for Professional Development is the most trusted online training platform to global participants. We are primarily a community of Business Analysts who have taken the initiative to facilitate professionals of IT or Non IT background with the finest quality training. Our trainings are delivered through interactive mode with illustrative scenarios, activities and case studies to help learners start a successful career. We impart knowledge keeping in view of the challenging situations individuals will face in the real time, so that they can handle their job deliverables with at most confidence.
ReplyDeletecoepd.us/index.html
ReplyDeleteThanks for sharing this good blog.It's amazing blog Core Java Online Training Hyderabad
Nice Blog. Thanks for your's info
ReplyDeleteVisit: Best Java Course
Thanks for the post, I am techno savvy. I believe you hit the nail right on the head.
ReplyDeleteI am highly impressed with your blog. It is very nicely explained.
Your article adds best knowledge to our Java Online Training from India. or learn thru Java Online Training from India Students.
The information which you have provided is very good. It is very useful who is looking for Java online training Hyderabad
ReplyDelete
ReplyDeleteYou won't believe me, but I was planning to write a blog very similar to the one you have posted here. Great work!
Selenium Training In Chennai
Java Training In Chennai
Nice blog for students as well as those persons who want guidance..
ReplyDeleteThanks for sharing such a useful contant with us
Digitla Marketing Training in Jaipur
Php Training in Jaipur
Android Training in Jaipur
.Net Training in Jaipur
C C++ Training in Jaipur
Java Training in Jaipur
Software Testing Training in Jaipur
Tally Training in Jaipur
Hardware and Networking Training in Jaipur
Networking Training in Jaipur