This ppt gives a general idea about the multithreading concepts in the java programming language. hope you find it useful
P.S :
sorry there is a correction in one of the slides
where i have entered implements thread
it is wrong it is actually implements Runnable
thank you!
1. Multithreading
● A technique by which a single set of code can
be used by several processors at different
stages of execution.
2. Process and Threads
● A process is a thread in execution.
● A process may be divided ninto number of
independent units known as threads.
● A thread is a dispatchable unit of work.
● Threads are light-weight processes within a
process .
● A process is a collection of one or more
threads and associated system resources
3. Difference between Process and
Threads
● Process can be
divided into multiple
threads
● Each process has its
own memory space
● It is difficult to create
a process
● Threads cannot be
sub divided.
● Threads of the same
process share a
common memory
space
● It is easy to create a
thread.
4. Multitasking
● Multitasking is a method where multiple tasks
are performed during the same period of time
● They are executed concurrently instead of
sequentially
● The tasks share common processing
resources, such as a CPU and main memory.
5. Difference between multitasking and
multithreading
● An ability to run
several programs
simultaneously
potentially by using
several processors or
by time sharing the
resources available.
● An ability to run
serveral processes of
a single program
simultaneously
potentially using
several processors or
by time sharing the
resources available.
7. Contd'
●
NEW- A thread that is just instantiated is in new state. When a start()
method is invoked, the thread moves to the ready state from which it is
automatically moved to runnable state by the thread scheduler.
● RUNNABLE (ready running)-A thread executing in the JVM is in running
state.
●
BLOCKED - A thread that is blocked waiting for a monitor lock is in this
state. This can also occur when a thread performs an I/O operation and
moves to next (runnable) state.
● WAITING - A thread that is waiting indefinitely for another thread to
perform a particular action is in this state.
●
TIMED_WAITING - A thread that is waiting for another thread to perform
an action for up to a specified waiting time is in this state.
● TERMINATED - A thread that has exited is in this state.
8. Thread Creation
Threads can be created using two ways
● By implementing the Runnable class
● By extending the Thread class
● start() method is used to start the thread
● run() method is executed after calling the start()
● run() can contain the code you wish to perform
using thread.
9. Some of methods used in Threads
● start()- to begin the execution of thread
● setName()- to set the name for a thread
● getName()- to get the name of a thread
● Sleep() - to make the thread wait for specified
amount of time.
● setPriority()- to set the priority of the threads
● getPriority()- to get the priority of threads
10. Thread Creation Example
public class Threadlearning extends Thread
{
public void run()
{
System.out.println("i am thread ");
}
public static void main(String[] args)
{
Threadlearning t = new Threadlearning();
t.start();
}
}
public class Thread2way implements
Runnable
{
public void run()
{
System.out.println("i am in thread");
}
public static void main(String args[])
{
(new Thread(new Thread2way())).start();
}
}