In this article we will focus on to know what is the real time example of multithreading in Java. Real time example means we will see where multithreading concept is uses practically. In short If I will say then whatever device and instruments we are using, everywhere multithreading concept is uses. For example our mobile phone, our laptop, In games and many more places.
In games there are multiple players they are playing games separately and that is only achieved by multithreading concepts.
Before going to know more examples of multi threading lets first know what is multi threading?
Multithreading is a programmable approach to achieve multitasking. This means it an approach to utilized processes effectively. According to the concept of multi-threading, each thread holds the control of one program. A thread means a single line of control.
Summary: At the end of this tutorial you will be confident on Multithreading in java and how to use it with its real time example.
If we take a real-time example of multithreading in Java then let’s see one example below:
Let’s take a real-world example of office work culture. So in the office, every project has a Team leader to manage the team and handle the teamwork and make the working process smooth. Now a large task is broken into a small task which is assigned to the individual team members. The team lead has control over each task status means whatever task is done by the teams, which is nothing but a thread.
So in general it happens for any given time a whole team is working on multiple tasks. But at the same time also the team leader knows the status of the task which is doing by the individuals by the report of all tasks. Here is the very little chance that the tasks are dependent on each other’s tasks. Because of the independence of tasks individuals can able to work separately on the small part of the whole task.
In the above example, the Team Lead is using multi-threading concepts to get the status of all tasks. And each individual in a team can work on multiple task who is taking the status of tasks from the team, filling timesheets, answering his boss, and providing help to the team at the same time.
Now see one more simple daily life example to understand the concept of Multithreading:
In your home, Suppose at the time of eating dinner you are also watching TV. One more case may be at the same time like at the time of having dinner you may be talking to your mother and asking for some more eatables.
Here you alone doing three different tasks in parallel eating dinner, watching TV, and asking your mother for more eatables. In this computer world, this is known as multitasking that can be achieved by multithreading.
To achieve this multitasking in the programming world, the Programmer uses threading concept where each task is known as a thread.
In Java, the Multithreading concept gives the ability to perform multiple tasks in parallel without disturbing other tasks. In simple words, we can say that One task should not wait for another to complete and all task should execute and perform their own operations.
Some real-time example of multithreading are:
- server monitoring infrastructure, for example, u are required to monitor 30K servers/routers every 5 seconds
- long-running applications like batch jobs, do well when multithreaded.
- Any GUI toolkit, like Swing, Javafx, SWT/JFace all uses threads to keep track of events generating from various widgets in the GUI
- HTTP/JEE servers/frameworks like vert.x, wildfly, tomcat, jetty uses multi-threads along with NIO to achieve high throughput.
- JUnit uses threads to run test cases in parallel.
- Computer games, exemplary multi-threaded processing.
- Working on websites along with playing youtube and listening to music.
- A single time peoples using one website and performing different-different operations. Like on banking site someone checking balance, and someone changing PIN.
- On Hotel booking site single server is shared between multiple users to show hotels details as per request.