VISVESVARAYA TECHNOLOGICAL UNIVERSITY
"Jnana Sangama", Belagavi-590 018
OBJECT ORIENTED PROGRAMMING WITH JAVA– BCS306A
Presentation Report
Submitted by:
Student’s Name: TK SAICHARAN
USN: 1AY24AI110
Sec: ‘B’
Sem: 3rd
Under the guidance of
Mr. Tahir Mirji
Assistant professor
DEPARTMENT OF ARTIFICAL INTELLIGENCE AND MACHINE LEARNING
ACHARYA INSTITUTE OF TECHNOLOGY
(AFFILIATED TO VISVESVARAYA TECHNOLOGICAL UNIVERSITY, BELAGAVI)
Acharya Dr. Sarvepalli Radhakrishnan Road, Soldevanahalli, Bengaluru - 560107
2025-2026
ACHARYA INSTITUTE OF TECHNOLOGY
Affiliated to Visvesvaraya Technology University, Belagavi, Govt. of Karnataka.
Approved by AICTE, New Delhi and Accredited by NBA
DEPARTMENT OF ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
Student Presentations Report (Flipped classroom)
1. Introduction
The "Flipped Class" event organized by the Third semester students of AIML Department at
Acharya Institute of Technology, where students presented on the subject " ThreadState and getState()
method" on 5/01/2026
The Session was very interactive and informative
2. Event Details
2.1 Event Name and Date
● Event Name: Flipped Class
● Date: 5/01/2026
2.2 Venue
● Acharya Institute of Technology
🔹 Introduction
Multithreading is a core feature of Java that allows multiple tasks to execute concurrently, improving
application performance and responsiveness. During its lifetime, a thread passes through several well-defined
states, such as creation, execution, waiting, and termination. Java provides the [Link] enum and the
getState() method to observe and manage these states. Understanding thread states helps developers design
efficient, safe, and deadlock-free multithreaded applications.
🔹 Objectives
To identify different thread execution states
To learn how the getState() method retrieves the current state of a thread
To analyse thread behaviour during synchronization and waiting
To improve debugging and performance tuning in multithreaded programs
To understand the life cycle of a thread in Java
ACHARYA INSTITUTE OF TECHNOLOGY
Affiliated to Visvesvaraya Technology University, Belagavi, Govt. of Karnataka.
Approved by AICTE, New Delhi and Accredited by NBA
🔹 Key Concepts
(a) ThreadStates in Java
Java defines the following thread states using the [Link] enum:
NEW – Thread is created but not yet started
RUNNABLE – Thread is ready or running on the CPU
BLOCKED – Thread is waiting to acquire a monitor lock
WAITING – Thread is waiting indefinitely for another thread’s action
TIMED_WAITING – Thread is waiting for a specified time
TERMINATED – Thread has completed execution
(b) getState() method
The getState() method belongs to the Thread class
It returns the current execution state of a thread
🔹 Importance
Helps in debugging and monitoring thread execution
Identifies deadlocks and performance issues
Improves synchronization and CPU utilization
Essential for efficient multithreaded application development
🔹Outcomes
After studying this topic, a learner will be able to:
Explain the life cycle of a Java thread
Distinguish between different thread states
Use the getState() method to track thread execution
Debug multithreading issues such as deadlocks and race conditions
Apply thread state knowledge in real-world concurrent applications
🔹 Conclusion
Thread states and the getState() method form the foundation of Java multithreading. By understanding
how a thread transitions between different states, programmers can effectively control execution flow
and handle synchronization challenges. The getState() method provides valuable insight into thread
behavior, making it an essential tool for debugging and performance optimization.
ACHARYA INSTITUTE OF TECHNOLOGY
Affiliated to Visvesvaraya Technology University, Belagavi, Govt. of Karnataka.
Approved by AICTE, New Delhi and Accredited by NBA
The below mentioned students gave the presentation on the topic
1. P DEEPIKA [1AY24AI080]
2. PRARTHANA KULKARNI [1AY24AI118]
Photos:
PRESENTATION SLIDES:
EMAIL:
Mr. MD. Tahir Mirji
Coordinators HOD - AI & ML