Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Threads concept in java


Published on

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!

Published in: Education, Technology

Threads concept in java

  1. 1. Multithreading ● A technique by which a single set of code can be used by several processors at different stages of execution.
  2. 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. 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. 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. 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.
  6. 6. Life cycle of Thread
  7. 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. 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. 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. 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(); } }