wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Threads

profile
Sarvo Singh
Aug 14, 2024
0 Likes
0 Discussions
172 Reads

Definition

Within a process, a thread is a single sequence stream. Because threads have certain characteristics of processes, they are frequently referred to as lightweight processes. Every thread is associated with a single process. A process may have several threads if the operating system allows multithreading. However, threads are only useful if there are several CPUs; otherwise, two threads must context switch for each CPU.

 

Need for Threads

-Threads run in parallel improving the application performance. Each such thread has its own CPU state and stack, but they share the address space of the process and the environment.

-Threads can share common data so they do not need to use inter-process communication. Like the processes, threads also have states like ready, executing, blocked, etc.

- Similar to a process, a thread can be given priority, with the highest priority thread being scheduled first.

- A Thread Control Block (TCB) is unique to each thread. Similar to the process, the thread experiences a context transition, and the contents of its register are saved in (TCB). Since threads share resources and address space, synchronization is also necessary for the thread's multiple actions.


Components of Threads

  • Stack Space:
  • Register Set
  • Program Counter

Types of Threads

User Level Thread:

It is a type of thread that is not created using system calls. The kernel has no work in the management of user-level threads. User-level threads can be easily implemented by the user. In case when user-level threads are single-handed processes, kernel-level thread manages them. Let’s look at the advantages and disadvantages of User-Level Thread.


Kernel Level Thread:

It is a type of thread that can recognize the Operating system easily. Kernel Level Threads has its own thread table where it keeps track of the system. The operating System Kernel helps in managing threads. Kernel Threads have somehow longer context switching time. Kernel helps in the management of threads.

 

Multithreading

A thread is also known as a lightweight process. The idea is to achieve parallelism by dividing a process into multiple threads. For example, in a browser , multiple tabs can be different threads. MS Word uses multiple threads: one thread to format the text, another thread to process inputs, etc. More advantages of multithreading are discussed below.

Multithreading is a technique used in operating systems to improve the performance and responsiveness of computer systems. Multithreading allows multiple threads (i.e., lightweight processes) to share the same resources of a single process, such as the CPU, memory, and i/o devices.

 


Comments ()


Sign in

Read Next

Kernel in Operating System

Blog banner

BrainGate Technology

Blog banner

Dangers of Using Public WiFis

Blog banner

Threat management

Blog banner

Deming’s Process

Blog banner

Modern Operating Systems.

Blog banner

Types of OS

Blog banner

A Weekend at Oak Tree Hotel: The Best Hotel Experience in Arcadia, Florida

Blog banner

Charcoal, Lemon, and DIY Kits: Which “Viral” Dental Trends Are Actually Dangerous?

Blog banner

Sleep Disorder: The Silent Link Between Sleep and Mental Health

Blog banner

VIRTUAL MACHINES

Blog banner

RAID

Blog banner

Deadlocks

Blog banner

E-learning in today's world

Blog banner

Fudgy Tahini Date Chocolate Bars

Blog banner

Subnet Masking

Blog banner

GraphX:- A graph processing tool

Blog banner

What Your Music Taste Reveals About Your Personality

Blog banner

Inventory management software system

Blog banner

NETSUITE

Blog banner

Some facts about Technology

Blog banner

TEAMWORK

Blog banner

A-B-C of Networking: Part-3 (Topology [Ring, Tree, Mesh])

Blog banner

10 Interesting facts you should know!!!

Blog banner

File management

Blog banner

Different Types of Data

Blog banner

Modern Operating system

Blog banner

Cyber Forensics

Blog banner

Challenges and risks in service operations

Blog banner

Drawing tips for a beginner

Blog banner

The Role of Fibre in Everyday Nutrition and Digestive Health

Blog banner

MEMORY MANAGEMENT

Blog banner

DNS Cache

Blog banner

Traveling

Blog banner

What is Vishing?

Blog banner

Memory input output management

Blog banner

Workplace mental health: A Psychological Perspective on Employee Well-being and Organizational Growth

Blog banner

Why am I never satisfied with my Life?

Blog banner

Understanding the 4 Types of Learning Methods in Early Childhood

Blog banner

PROCESS CONTROL BLOCK IN OS

Blog banner

Buffer overflow

Blog banner

Explaining Buffer Overflow with Example

Blog banner