- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to create a thread using method reference in Java?
Method reference is one of a way in a lambda expression to refer a method without executing it. In the body part of a lambda expression, we can call another method if they are compatible with a functional interface. We can also capture "this" and "super" keywords in method references.
In the below two examples, we can create a thread with the help of "this" and "super" keywords using method reference.
Example of this keyword
public class MethodRefThisTest { public void runBody() { for(int i = 1; i < 10; i++) { System.out.println("Square of " + i + " is: " + (i*i)); } } public static void main(String[] args) { MethodReferenceThread test = new MethodReferenceThread(); test.createThread(); } private void createThread() { new Thread(this::runBody).start(); // method reference } }
Output
Square of 1 is: 1 Square of 2 is: 4 Square of 3 is: 9 Square of 4 is: 16 Square of 5 is: 25 Square of 6 is: 36 Square of 7 is: 49 Square of 8 is: 64 Square of 9 is: 81
Example of super keyword
class SuperReference { public void runBody() { for(int i = 1; i < 10; i++) { System.out.println("Square of " + i +" is: " + (i*i)); } } } public class MethodRefSuperTest extends SuperReference { public static void main(String[] args) { MethodRefSuperTest test = new MethodRefSuperTest(); test.createThread(); } private void createThread() { new Thread(super::runBody).start(); // method reference } }
Output
Square of 1 is: 1 Square of 2 is: 4 Square of 3 is: 9 Square of 4 is: 16 Square of 5 is: 25 Square of 6 is: 36 Square of 7 is: 49 Square of 8 is: 64 Square of 9 is: 81
Advertisements