0% found this document useful (0 votes)
2 views4 pages

1 Multithreading in Java

Multithreading in Java allows multiple threads to execute simultaneously, sharing a common memory area, which saves memory and reduces context-switching time compared to multiprocessing. It offers advantages such as non-blocking user experience, time efficiency, and thread independence during exceptions. The document also outlines the concepts of multitasking, thread lifecycle, and various multithreading techniques and challenges.

Uploaded by

Anima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views4 pages

1 Multithreading in Java

Multithreading in Java allows multiple threads to execute simultaneously, sharing a common memory area, which saves memory and reduces context-switching time compared to multiprocessing. It offers advantages such as non-blocking user experience, time efficiency, and thread independence during exceptions. The document also outlines the concepts of multitasking, thread lifecycle, and various multithreading techniques and challenges.

Uploaded by

Anima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

9/23/2015 Multithreading in Java ­ javatpoint

Content Menu ▼

Multithreading in Java
Multithreading in java is a process of executing multiple threads
simultaneously.

Thread is basically a lightweight sub­process, a smallest unit of


processing. Multiprocessing and multithreading, both are used to
achieve multitasking.

But we use multithreading than multiprocessing because threads


share a common memory area. They don't allocate separate memory
area so saves memory, and context­switching between the threads
takes less time than process.

Java Multithreading is mostly used in games, animation etc.

Advantage of Java Multithreading


1) It doesn't block the user because threads are independent and
you can perform multiple operations at same time.

2) You can perform many operations together so it saves time.

3) Threads are independent so it doesn't affect other threads if


exception occur in a single thread.

Multitasking
Multitasking is a process of executing multiple tasks simultaneously.
We use multitasking to utilize the CPU. Multitasking can be achieved
by two ways:

Process­based Multitasking(Multiprocessing)

Thread­based Multitasking(Multithreading)

1) Process­based Multitasking (Multiprocessing)


Each process have its own address in memory i.e. each

http://www.javatpoint.com/multithreading­in­java 1/4
9/23/2015 Multithreading in Java ­ javatpoint

process allocates separate memory area.

Process is heavyweight.

Cost of communication between the process is high.

Switching from one process to another require some time for


saving and loading registers, memory maps, updating lists
etc.

2) Thread­based Multitasking (Multithreading)


Threads share the same address space.

Thread is lightweight.

Cost of communication between the thread is low.

Note: At least one process is required for each thread.

What is Thread in java


A thread is a lightweight sub process, a smallest unit of processing.
It is a separate path of execution.

Threads are independent, if there occurs exception in one thread, it


doesn't affect other threads. It shares a common memory area.

http://www.javatpoint.com/multithreading­in­java 2/4
9/23/2015 Multithreading in Java ­ javatpoint

As shown in the above figure, thread is executed inside the process.


There is context­switching between the threads. There can be
multiple processes inside the OS and one process can have multiple
threads.

Note: At a time one thread is executed only.

Do You Know

How to perform two tasks by two threads ?

How to perform multithreading by annonymous class ?

What is the Thread Schedular and what is the difference


between preemptive scheduling and time slicing ?

What happens if we start a thread twice ?

What happens if we call the run() method instead of start()


method ?

What is the purpose of join method ?

Why JVM terminates the daemon thread if there is no user


threads remaining ?

What is the shutdown hook?

What is garbage collection ?

What is the purpose of finalize() method ?

What does gc() method ?

What is synchronization and why use synchronization ?

What is the difference between synchronized method and


synchronized block ?

What are the two ways to perform static synchronization ?

What is deadlock and when it can occur ?

What is interthread­communication or cooperation ?

What we will learn in Multithreading

Multithreading

Life Cycle of a Thread

Two ways to create a Thread

How to perform multiple tasks by multiple threads

Thread Schedular

Sleeping a thread

Can we start a thread twice ?

http://www.javatpoint.com/multithreading­in­java 3/4
9/23/2015 Multithreading in Java ­ javatpoint

What happens if we call the run() method instead of start()


method ?

Joining a thread

Naming a thread

Priority of a thread

Daemon Thread

ShutdownHook

Garbage collection

Synchronization with synchronized method

Synchronized block

Static synchronization

Deadlock

Inter­thread communication

← prev next →

http://www.javatpoint.com/multithreading­in­java 4/4

You might also like