Java: Beginner Guide to Multithreading

a thread...

Multithreading is a concept of applying multitasking in Java.

Java supports thread-based multitasking.

Java program can be divided into several threads and those threads can be executed in parallel to support multi-tasking.
Two ways to create a thread in Java:

1. By Implementing Runnable Interface
2. By extending the Thread class
Let's create a thread by implementing the "Runnable" interface:

Steps:
1. Implement Runnable Interface
2. Override the run() method, and put your code inside it.
3. Pass the instance of your class to the Thread class constructor.
4. Call the start() method to run your thread.
Let's create a thread by extending the "Thread" class:

Steps:
1. Extend your class with Thread class
2. Override the run() method, and put your code inside it.
3. Instantiate your class.
4. Call the start() method to run your thread.
Out of the above approaches, it is always advisable to use the first approach(By implementing a Runnable Interface) to create the threads in Java.

Because it's an Interface, you can also extend other classes in the future and also implement other interfaces.
Lifecycle of thread:

It has 5 different phases in its lifecycle:
1. New
2. Runnable
3. Running
4. Waiting
5. Dead
Few Important Methods of Thread Class:

run() - Actual task of the thread is defined here.
start() - Starts the thread
join() - Wait for thread to die.
setName() - Give name to our thread.
getName() - Returns the thread name.
setPriority() - Sets the priority to thread.
getPriority() - Returns the priority.
getState() - Returns the state of thread.
isAlive() - checks if thread is alive or not

and a few more...
Conclusion:

We can use Multithreading in order to boost the performance of our program.

If our program has independent units, we can run those independent code blocks into a separate thread.

They can run parallel and process faster than normal.

More from Vikas Rajput

You May Also Like

प्राचीन काल में गाधि नामक एक राजा थे।उनकी सत्यवती नाम की एक पुत्री थी।राजा गाधि ने अपनी पुत्री का विवाह महर्षि भृगु के पुत्र से करवा दिया।महर्षि भृगु इस विवाह से बहुत प्रसन्न हुए और उन्होने अपनी पुत्रवधु को आशीर्वाद देकर उसे कोई भी वर मांगने को कहा।


सत्यवती ने महर्षि भृगु से अपने तथा अपनी माता के लिए पुत्र का वरदान मांगा।ये जानकर महर्षि भृगु ने यज्ञ किया और तत्पश्चात सत्यवती और उसकी माता को अलग-अलग प्रकार के दो चरू (यज्ञ के लिए पकाया हुआ अन्न) दिए और कहा कि ऋतु स्नान के बाद तुम्हारी माता पुत्र की इच्छा लेकर पीपल का आलिंगन...

...करें और तुम भी पुत्र की इच्छा लेकर गूलर वृक्ष का आलिंगन करना। आलिंगन करने के बाद चरू का सेवन करना, इससे तुम दोनो को पुत्र प्राप्ति होगी।परंतु मां बेटी के चरू आपस में बदल जाते हैं और ये महर्षि भृगु अपनी दिव्य दृष्टि से देख लेते हैं।

भृगु ऋषि सत्यवती से कहते हैं,"पुत्री तुम्हारा और तुम्हारी माता ने एक दुसरे के चरू खा लिए हैं।इस कारण तुम्हारा पुत्र ब्राह्मण होते हुए भी क्षत्रिय सा आचरण करेगा और तुम्हारी माता का पुत्र क्षत्रिय होकर भी ब्राह्मण सा आचरण करेगा।"
इस पर सत्यवती ने भृगु ऋषि से बड़ी विनती की।


सत्यवती ने कहा,"मुझे आशीर्वाद दें कि मेरा पुत्र ब्राह्मण सा ही आचरण करे।"तब महर्षि ने उसे ये आशीर्वाद दे दिया कि उसका पुत्र ब्राह्मण सा ही आचरण करेगा किन्तु उसका पौत्र क्षत्रियों सा व्यवहार करेगा। सत्यवती का एक पुत्र हुआ जिसका नाम जम्दाग्नि था जो सप्त ऋषियों में से एक हैं।
Recently, the @CNIL issued a decision regarding the GDPR compliance of an unknown French adtech company named "Vectaury". It may seem like small fry, but the decision has potential wide-ranging impacts for Google, the IAB framework, and today's adtech. It's thread time! 👇

It's all in French, but if you're up for it you can read:
• Their blog post (lacks the most interesting details):
https://t.co/PHkDcOT1hy
• Their high-level legal decision: https://t.co/hwpiEvjodt
• The full notification: https://t.co/QQB7rfynha

I've read it so you needn't!

Vectaury was collecting geolocation data in order to create profiles (eg. people who often go to this or that type of shop) so as to power ad targeting. They operate through embedded SDKs and ad bidding, making them invisible to users.

The @CNIL notes that profiling based off of geolocation presents particular risks since it reveals people's movements and habits. As risky, the processing requires consent — this will be the heart of their assessment.

Interesting point: they justify the decision in part because of how many people COULD be targeted in this way (rather than how many have — though they note that too). Because it's on a phone, and many have phones, it is considered large-scale processing no matter what.