0% found this document useful (0 votes)
7 views

Java M5

Uploaded by

dineshnceh
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Java M5

Uploaded by

dineshnceh
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 48

MODULE -5

Multithreaded Programming
Java provides built-in support for multithreaded programming.

A multithreaded program contains two or more parts that can run concurrently.

Each part of such a program is called a thread, and each thread defines a separate path
of execution. Thus, multithreading is a specialized form of multitasking.

Tuesday 26 November 2024 1


MODULE -5

However, there are two distinct types of multitasking:


process-based and thread-based.
A process is, in essence, a program that is executing. Thus, process-based
multitasking is the feature that allows your computer to run two or more programs
concurrently.

In a thread-based multitasking environment, the thread is the smallest unit of


dispatchable code. This means that a single program can perform two or more tasks
simultaneously.

Multithreading enables you to write efficient programs that make maximum use of the
processing power available in the system.

Tuesday 26 November 2024 2


MODULE -5

Tuesday 26 November 2024 3


MODULE -5

Tuesday 26 November 2024 4


MODULE -5

The Java Thread Model

Threads exist in several states.

Here is a general description.

A thread can be running.


It can be ready to run as soon as it gets CPU time.
A running thread can be suspended, which temporarily halts its activity.
A suspended thread can then be resumed, allowing it to pick up where it left off. A
thread can be blocked when waiting for a resource.
At any time, a thread can be terminated, which halts its execution immediately. Once
terminated, a thread cannot be resumed.

Tuesday 26 November 2024 5


MODULE -5

Tuesday 26 November 2024 6


MODULE -5

Tuesday 26 November 2024 7


MODULE -5

Tuesday 26 November 2024 8


MODULE -5

Tuesday 26 November 2024 9


MODULE -5

Tuesday 26 November 2024 10


MODULE -5

Tuesday 26 November 2024 11


MODULE -5

Tuesday 26 November 2024 12


MODULE -5

Tuesday 26 November 2024 13


MODULE -5

Tuesday 26 November 2024 14


MODULE -5

Tuesday 26 November 2024 15


MODULE -5

Tuesday 26 November 2024 16


MODULE -5

Tuesday 26 November 2024 17


MODULE -5

Tuesday 26 November 2024 18


MODULE -5

Tuesday 26 November 2024 19


MODULE -5

Tuesday 26 November 2024 20


MODULE -5

Tuesday 26 November 2024 21


MODULE -5

Tuesday 26 November 2024 22


MODULE -5

Tuesday 26 November 2024 23


MODULE -5

Tuesday 26 November 2024 24


MODULE -5

Tuesday 26 November 2024 25


MODULE -5

Tuesday 26 November 2024 26


MODULE -5

Tuesday 26 November 2024 27


MODULE -5

Tuesday 26 November 2024 28


MODULE -5

Thread Priorities
Thread priorities are used by the thread scheduler to decide when
each thread should be allowed to run.

In theory, over a given period of time, higher-priority threads get


more CPU time than lower-priority threads.

Tuesday 26 November 2024 29


MODULE -5

Tuesday 26 November 2024 30


MODULE -5

Tuesday 26 November 2024 31


MODULE -5

For example, the following sequence determines if a thread


called thrd is in the RUNNABLE state at the time getState( ) is
called:

Tuesday 26 November 2024 32


MODULE -5

Tuesday 26 November 2024 33


MODULE -5

Tuesday 26 November 2024 34


MODULE -5

Type Wrappers

The type wrappers are Double, Float, Long, Integer, Short, Byte,
Character, and Boolean.

The Numeric Type Wrappers

Tuesday 26 November 2024 35


MODULE -5

Tuesday 26 November 2024 36


MODULE -5

Enumerations
An enumeration is a list of named constants that define a new data type and its legal
values.
Thus, an enumeration object can hold only a value that was declared in the list. Other
values are not allowed.

An enumeration is created using the enum keyword.

For example, here is a simple enumeration that lists various apple varieties:

Tuesday 26 November 2024 37


MODULE -5

The identifiers Jonathan, GoldenDel, and so on, are called enumeration constants.
Each is implicitly declared as a public, static final member of Apple.

For example, this declares ap as a variable of enumeration type


Apple:

Apple ap;

For example, this assigns ap the value RedDel:


ap = Apple.RedDel;

Tuesday 26 November 2024 38


MODULE -5

Tuesday 26 November 2024 39


MODULE -5

Tuesday 26 November 2024 40


MODULE -5

Tuesday 26 November 2024 41


MODULE -5

Tuesday 26 November 2024 42


MODULE -5

enumeration.

Tuesday 26 November 2024 43


MODULE -5

Tuesday 26 November 2024 44


MODULE -5

Tuesday 26 November 2024 45


MODULE -5

Tuesday 26 November 2024 46


MODULE -5

Tuesday 26 November 2024 47


MODULE -5

Tuesday 26 November 2024 48

You might also like