SlideShare a Scribd company logo
Problem solving using
Multi Threading
Topics in this slide
Multi Processing
Multi Threading
Life Cycle of Thread
How to create Thread
Some Methods assosiated with Thread
getName(),setName()
getPriority(),set Priority()
sleep(),join()
problem
Multi Tasking
Multi Processing Multi Threading
• Multi Processing= It is process based Multi
Tasking and it is OS level Multi Tasking.
• When two independent tasks are performed
simultaneously on system is called Multiprocessing
• Example=In a software industry employees are
used to work by listening to music.
• In this case work may be writing code, designing
reports, sending mail, etc but these Along with music
is running parallelly in background.
Multi Threading=Multi Threading is the program level Multi Tasking
It is the process of executing multiple threads simultaneously.
Multi Threading is used for execution of program in less time.
Defaultly Main Thread is responsible for execution of entire code unless the sub Threads are created
Public class Main{
Public static void main(String[] args){
Statement 1
Statement 2
Statement 3
Statement 4
}
}
In this sample code no
sub threads are created so, the
entire code is executed by Main
thread
Let the time taken by the execution
is 4 sec
Public class Main{
Public static void main(String[] args){
Statement 1-----------t1 executes statement1
Statement 2------------t2 executes statement 2
Statement 3------------t3 executes statement 3
Statement 4-------------t4 executes statement 4
t1,t2,t3,t4;
}
}
In this sample code 4 sub threads are
created(t1,t2,t3,t4) so, the entire code is
executed by Main thread as well as sub
threads
Let the time taken by the execution is less than
the previous case.
Life cycle of
Thread
• Threads can be created in two ways
• Extending Thread class
• Implementing Runnable Interface
• We cannot interpret the order of flow of thread
execution
Thread creation in Java
public class Main extends Thread{
//@ overrided method
public void run(){
System.out.println("Thread name is "+getName());
}
public static void main(String[] args){
Main t1=new Main(); //Thread t1 is created
Main t2=new Main(); // Thread t2 is created
t1.start();
t2.start();
}
}
getName() method returns the name of the Thread
start() method calls the run method
How to set name to the Thread ?
If you want to know which specific thread is executing then you need to set name for the thread. This helps you
to understand which thread is executing.
public class Main extends Thread{
//@ overrided method
public void run(){
System.out.println("Thread name is "+getName());
}
public static void main(String[] args){
Main t1=new Main(); //Thread t1 is created
Main t2=new Main(); // Thread t2 is created
t1.setName("CSE");
t2.setName("ECE");
t1.start();
t2.start();
}
}
Thread
Priority
How to know the priority of Thread ?
public class Main extends Thread{
//@ overrided method
public void run(){
System.out.println("Thread name is "+getName()+" priority is "+getPriority());
}
public static void main(String[] args){
Main t1=new Main(); //Thread t1 is created
Main t2=new Main(); // Thread t2 is created
t1.setName("CSE");
t2.setName("ECE");
t1.start();
t2.start();
}
}
getPriority() method returns the priority of thread
How to set priority to Thread ?
public class Main extends Thread{
//@ overrided method
public void run(){
System.out.println("Thread name is "+getName()+" priority is "+getPriority());
}
public static void main(String[] args){
Main t1=new Main(); //Thread t1 is created
Main t2=new Main(); // Thread t2 is created
t1.setPriority(Thread.MIN_PRIORITY);//Priority is 1
t2.setPriority(Thread.MAX_PRIORITY);//Priority is 10
t1.setName("CSE");
t2.setName("ECE");
t1.start();
t2.start();
}
}
setPriority(Thread.(MAX or MIN or NORM)_PRIORITY) method used to set priority to thread
• Sleep()
• The sleep() method of Thread class is used to sleep a thread for the specified amount of
time.
• public class Main extends Thread{
• //@ overrided method
• public void run(){
• try{
• for(int i=0;i<5;i=i+1){
• sleep(1000) //1000ms=1s
• System.out.println("Thread name is "+getName());
• }
• }
• catch(Exception e){
• }
• }
• public static void main(String[] args){
• Main t1=new Main(); //Thread t1 is created
• t1.start();
• }
• }
Join()
Multi threading
Without join() method
public class Main extends Thread
{
public void run(){
for(int i=0;i<5;i=i+1){
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
public static void main(String[] args) {
Main t1=new Main();
Main t2=new Main();
t1.start();
t2.start();
}
}
With join() method
public class Main extends Thread
{
public void run(){
for(int i=0;i<5;i=i+1){
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
public static void main(String[] args) {
Main t1=new Main();
Main t2=new Main();
t1.start();
try{
t1.join();
}catch(Exception e){
}
t2.start();
}
Problem
Write a program for addition of two numbers and product of two numbers using Threads
Expaination
Sum(a,b) performed by thread t1
Product(a,b) performed by thread t2
Main thread displays the sum and product value of two numbers
class Number{
int a;
int b;
int s;
int p;
Number(int a,int b){
this.a=a;
this.b=b;
}
public void sum(){
s=a+b;
}
public void multiply(){
p=a*b;
}
public void display(){
System.out.println("sum is "+s);
System.out.println("product is "+p);
}
}
class ThreadA extends Thread{
Number num;
ThreadA(Number num){
this.num=num;
}
}
public class Main{
public static void main(String[] args){
Number num=new Number(1,2);
ThreadA t1=new ThreadA(num){
public void run(){
num.sum();
}
};
ThreadA t2=new ThreadA(num){
public void run(){
num.multiply();
}
};
t1.start();
t2.start();
try{
t2.join();
}catch(Exception e){
}
num.display();
}
}
Ad

More Related Content

What's hot (20)

Thread priorities35
Thread priorities35Thread priorities35
Thread priorities35
myrajendra
 
Python Training in Bangalore | Multi threading | Learnbay.in
Python Training in Bangalore | Multi threading | Learnbay.inPython Training in Bangalore | Multi threading | Learnbay.in
Python Training in Bangalore | Multi threading | Learnbay.in
Learnbayin
 
Thread priorities
Thread prioritiesThread priorities
Thread priorities
Then Murugeshwari
 
Threads in python
Threads in pythonThreads in python
Threads in python
baabtra.com - No. 1 supplier of quality freshers
 
Multithreading Introduction and Lifecyle of thread
Multithreading Introduction and Lifecyle of threadMultithreading Introduction and Lifecyle of thread
Multithreading Introduction and Lifecyle of thread
Kartik Dube
 
Multi threading
Multi threadingMulti threading
Multi threading
Mavoori Soshmitha
 
Threads in Java
Threads in JavaThreads in Java
Threads in Java
Gaurav Aggarwal
 
L22 multi-threading-introduction
L22 multi-threading-introductionL22 multi-threading-introduction
L22 multi-threading-introduction
teach4uin
 
Multithreading Concepts
Multithreading ConceptsMultithreading Concepts
Multithreading Concepts
Arvind Krishnaa
 
Internet Programming with Java
Internet Programming with JavaInternet Programming with Java
Internet Programming with Java
kavitha muneeshwaran
 
Multithreading in Java
Multithreading in JavaMultithreading in Java
Multithreading in Java
Appsterdam Milan
 
MULTI THREADING IN JAVA
MULTI THREADING IN JAVAMULTI THREADING IN JAVA
MULTI THREADING IN JAVA
VINOTH R
 
Multithreading in-java
Multithreading in-javaMultithreading in-java
Multithreading in-java
aalipalh
 
12 multi-threading
12 multi-threading12 multi-threading
12 multi-threading
APU
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
Lovely Professional University
 
Java Multithreading and Concurrency
Java Multithreading and ConcurrencyJava Multithreading and Concurrency
Java Multithreading and Concurrency
Rajesh Ananda Kumar
 
Java Multithreading
Java MultithreadingJava Multithreading
Java Multithreading
Rajkattamuri
 
Java thread
Java threadJava thread
Java thread
Arati Gadgil
 
.NET Multithreading/Multitasking
.NET Multithreading/Multitasking.NET Multithreading/Multitasking
.NET Multithreading/Multitasking
Sasha Kravchuk
 
Java осень 2012 лекция 2
Java осень 2012 лекция 2Java осень 2012 лекция 2
Java осень 2012 лекция 2
Technopark
 
Thread priorities35
Thread priorities35Thread priorities35
Thread priorities35
myrajendra
 
Python Training in Bangalore | Multi threading | Learnbay.in
Python Training in Bangalore | Multi threading | Learnbay.inPython Training in Bangalore | Multi threading | Learnbay.in
Python Training in Bangalore | Multi threading | Learnbay.in
Learnbayin
 
Multithreading Introduction and Lifecyle of thread
Multithreading Introduction and Lifecyle of threadMultithreading Introduction and Lifecyle of thread
Multithreading Introduction and Lifecyle of thread
Kartik Dube
 
L22 multi-threading-introduction
L22 multi-threading-introductionL22 multi-threading-introduction
L22 multi-threading-introduction
teach4uin
 
MULTI THREADING IN JAVA
MULTI THREADING IN JAVAMULTI THREADING IN JAVA
MULTI THREADING IN JAVA
VINOTH R
 
Multithreading in-java
Multithreading in-javaMultithreading in-java
Multithreading in-java
aalipalh
 
12 multi-threading
12 multi-threading12 multi-threading
12 multi-threading
APU
 
Java Multithreading and Concurrency
Java Multithreading and ConcurrencyJava Multithreading and Concurrency
Java Multithreading and Concurrency
Rajesh Ananda Kumar
 
Java Multithreading
Java MultithreadingJava Multithreading
Java Multithreading
Rajkattamuri
 
.NET Multithreading/Multitasking
.NET Multithreading/Multitasking.NET Multithreading/Multitasking
.NET Multithreading/Multitasking
Sasha Kravchuk
 
Java осень 2012 лекция 2
Java осень 2012 лекция 2Java осень 2012 лекция 2
Java осень 2012 лекция 2
Technopark
 

Similar to Multi threading (20)

multhi threading concept in oops through java
multhi threading concept in oops through javamulthi threading concept in oops through java
multhi threading concept in oops through java
Parameshwar Maddela
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptx
Arulmozhivarman8
 
Java Multithreading - how to create threads
Java Multithreading - how to create threadsJava Multithreading - how to create threads
Java Multithreading - how to create threads
ManishKumar475693
 
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjava.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
jakjak36
 
multithreading to be used in java with good programs.pptx
multithreading to be used in java with good programs.pptxmultithreading to be used in java with good programs.pptx
multithreading to be used in java with good programs.pptx
PriyadharshiniG41
 
java multi threading and synchronisation.ppt
java multi threading and synchronisation.pptjava multi threading and synchronisation.ppt
java multi threading and synchronisation.ppt
ansariparveen06
 
Threads in java, Multitasking and Multithreading
Threads in java, Multitasking and MultithreadingThreads in java, Multitasking and Multithreading
Threads in java, Multitasking and Multithreading
ssusere538f7
 
Multithreading
MultithreadingMultithreading
Multithreading
SanthiNivas
 
Java Multithreading.pptx
Java Multithreading.pptxJava Multithreading.pptx
Java Multithreading.pptx
RanjithaM32
 
advanced java ppt
advanced java pptadvanced java ppt
advanced java ppt
PreetiDixit22
 
Session 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.pptSession 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.ppt
TabassumMaktum
 
Session 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.pptSession 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.ppt
TabassumMaktum
 
Multithreading.pptx
Multithreading.pptxMultithreading.pptx
Multithreading.pptx
PragatiSutar4
 
Java programming PPT. .pptx
Java programming PPT.                 .pptxJava programming PPT.                 .pptx
Java programming PPT. .pptx
creativegamerz00
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34
myrajendra
 
Threads
ThreadsThreads
Threads
Abhishek Khune
 
Multithreading in Java Object Oriented Programming language
Multithreading in Java Object Oriented Programming languageMultithreading in Java Object Oriented Programming language
Multithreading in Java Object Oriented Programming language
arnavytstudio2814
 
Threading
ThreadingThreading
Threading
abhay singh
 
Thread 1
Thread 1Thread 1
Thread 1
RAVI MAURYA
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
Monika Mishra
 
multhi threading concept in oops through java
multhi threading concept in oops through javamulthi threading concept in oops through java
multhi threading concept in oops through java
Parameshwar Maddela
 
OOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptxOOPS object oriented programming UNIT-4.pptx
OOPS object oriented programming UNIT-4.pptx
Arulmozhivarman8
 
Java Multithreading - how to create threads
Java Multithreading - how to create threadsJava Multithreading - how to create threads
Java Multithreading - how to create threads
ManishKumar475693
 
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjava.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
java.pptxytbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
jakjak36
 
multithreading to be used in java with good programs.pptx
multithreading to be used in java with good programs.pptxmultithreading to be used in java with good programs.pptx
multithreading to be used in java with good programs.pptx
PriyadharshiniG41
 
java multi threading and synchronisation.ppt
java multi threading and synchronisation.pptjava multi threading and synchronisation.ppt
java multi threading and synchronisation.ppt
ansariparveen06
 
Threads in java, Multitasking and Multithreading
Threads in java, Multitasking and MultithreadingThreads in java, Multitasking and Multithreading
Threads in java, Multitasking and Multithreading
ssusere538f7
 
Java Multithreading.pptx
Java Multithreading.pptxJava Multithreading.pptx
Java Multithreading.pptx
RanjithaM32
 
Session 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.pptSession 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.ppt
TabassumMaktum
 
Session 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.pptSession 7_MULTITHREADING in java example.ppt
Session 7_MULTITHREADING in java example.ppt
TabassumMaktum
 
Java programming PPT. .pptx
Java programming PPT.                 .pptxJava programming PPT.                 .pptx
Java programming PPT. .pptx
creativegamerz00
 
Runnable interface.34
Runnable interface.34Runnable interface.34
Runnable interface.34
myrajendra
 
Multithreading in Java Object Oriented Programming language
Multithreading in Java Object Oriented Programming languageMultithreading in Java Object Oriented Programming language
Multithreading in Java Object Oriented Programming language
arnavytstudio2814
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
Monika Mishra
 
Ad

Recently uploaded (20)

"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
Smart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptxSmart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptx
rushikeshnavghare94
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Avnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights FlyerAvnet Silica's PCIM 2025 Highlights Flyer
Avnet Silica's PCIM 2025 Highlights Flyer
WillDavies22
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
211421893-M-Tech-CIVIL-Structural-Engineering-pdf.pdf
inmishra17121973
 
Smart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptxSmart_Storage_Systems_Production_Engineering.pptx
Smart_Storage_Systems_Production_Engineering.pptx
rushikeshnavghare94
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Reagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptxReagent dosing (Bredel) presentation.pptx
Reagent dosing (Bredel) presentation.pptx
AlejandroOdio
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Ad

Multi threading

  • 2. Topics in this slide Multi Processing Multi Threading Life Cycle of Thread How to create Thread Some Methods assosiated with Thread getName(),setName() getPriority(),set Priority() sleep(),join() problem
  • 4. • Multi Processing= It is process based Multi Tasking and it is OS level Multi Tasking. • When two independent tasks are performed simultaneously on system is called Multiprocessing • Example=In a software industry employees are used to work by listening to music. • In this case work may be writing code, designing reports, sending mail, etc but these Along with music is running parallelly in background.
  • 5. Multi Threading=Multi Threading is the program level Multi Tasking It is the process of executing multiple threads simultaneously. Multi Threading is used for execution of program in less time. Defaultly Main Thread is responsible for execution of entire code unless the sub Threads are created
  • 6. Public class Main{ Public static void main(String[] args){ Statement 1 Statement 2 Statement 3 Statement 4 } } In this sample code no sub threads are created so, the entire code is executed by Main thread Let the time taken by the execution is 4 sec Public class Main{ Public static void main(String[] args){ Statement 1-----------t1 executes statement1 Statement 2------------t2 executes statement 2 Statement 3------------t3 executes statement 3 Statement 4-------------t4 executes statement 4 t1,t2,t3,t4; } } In this sample code 4 sub threads are created(t1,t2,t3,t4) so, the entire code is executed by Main thread as well as sub threads Let the time taken by the execution is less than the previous case.
  • 8. • Threads can be created in two ways • Extending Thread class • Implementing Runnable Interface • We cannot interpret the order of flow of thread execution
  • 9. Thread creation in Java public class Main extends Thread{ //@ overrided method public void run(){ System.out.println("Thread name is "+getName()); } public static void main(String[] args){ Main t1=new Main(); //Thread t1 is created Main t2=new Main(); // Thread t2 is created t1.start(); t2.start(); } } getName() method returns the name of the Thread start() method calls the run method
  • 10. How to set name to the Thread ? If you want to know which specific thread is executing then you need to set name for the thread. This helps you to understand which thread is executing. public class Main extends Thread{ //@ overrided method public void run(){ System.out.println("Thread name is "+getName()); } public static void main(String[] args){ Main t1=new Main(); //Thread t1 is created Main t2=new Main(); // Thread t2 is created t1.setName("CSE"); t2.setName("ECE"); t1.start(); t2.start(); } }
  • 12. How to know the priority of Thread ? public class Main extends Thread{ //@ overrided method public void run(){ System.out.println("Thread name is "+getName()+" priority is "+getPriority()); } public static void main(String[] args){ Main t1=new Main(); //Thread t1 is created Main t2=new Main(); // Thread t2 is created t1.setName("CSE"); t2.setName("ECE"); t1.start(); t2.start(); } } getPriority() method returns the priority of thread
  • 13. How to set priority to Thread ? public class Main extends Thread{ //@ overrided method public void run(){ System.out.println("Thread name is "+getName()+" priority is "+getPriority()); } public static void main(String[] args){ Main t1=new Main(); //Thread t1 is created Main t2=new Main(); // Thread t2 is created t1.setPriority(Thread.MIN_PRIORITY);//Priority is 1 t2.setPriority(Thread.MAX_PRIORITY);//Priority is 10 t1.setName("CSE"); t2.setName("ECE"); t1.start(); t2.start(); } } setPriority(Thread.(MAX or MIN or NORM)_PRIORITY) method used to set priority to thread
  • 14. • Sleep() • The sleep() method of Thread class is used to sleep a thread for the specified amount of time.
  • 15. • public class Main extends Thread{ • //@ overrided method • public void run(){ • try{ • for(int i=0;i<5;i=i+1){ • sleep(1000) //1000ms=1s • System.out.println("Thread name is "+getName()); • } • } • catch(Exception e){ • } • } • public static void main(String[] args){ • Main t1=new Main(); //Thread t1 is created • t1.start(); • } • }
  • 18. Without join() method public class Main extends Thread { public void run(){ for(int i=0;i<5;i=i+1){ System.out.println(Thread.currentThread().getName()+" "+i); } } public static void main(String[] args) { Main t1=new Main(); Main t2=new Main(); t1.start(); t2.start(); } }
  • 19. With join() method public class Main extends Thread { public void run(){ for(int i=0;i<5;i=i+1){ System.out.println(Thread.currentThread().getName()+" "+i); } } public static void main(String[] args) { Main t1=new Main(); Main t2=new Main(); t1.start(); try{ t1.join(); }catch(Exception e){ } t2.start(); }
  • 20. Problem Write a program for addition of two numbers and product of two numbers using Threads Expaination Sum(a,b) performed by thread t1 Product(a,b) performed by thread t2 Main thread displays the sum and product value of two numbers
  • 21. class Number{ int a; int b; int s; int p; Number(int a,int b){ this.a=a; this.b=b; } public void sum(){ s=a+b; } public void multiply(){ p=a*b; } public void display(){ System.out.println("sum is "+s); System.out.println("product is "+p); } }
  • 22. class ThreadA extends Thread{ Number num; ThreadA(Number num){ this.num=num; } } public class Main{ public static void main(String[] args){ Number num=new Number(1,2); ThreadA t1=new ThreadA(num){ public void run(){ num.sum(); } }; ThreadA t2=new ThreadA(num){ public void run(){ num.multiply(); } }; t1.start(); t2.start(); try{ t2.join(); }catch(Exception e){ } num.display(); } }