wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Threads

profile
Sarvo Singh
Aug 14, 2024
0 Likes
0 Discussions
170 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

Virtual Memory

Blog banner

Penetration Testing

Blog banner

Google App Engine

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

Modern operating system

Blog banner

Process Description

Blog banner

Types of Malware in Cyber Security

Blog banner

Top 5 Benefits of Artificial Intelligence

Blog banner

Wiretapping

Blog banner

Network Forensics Tools and Techniques

Blog banner

note taker app

Blog banner

How to Compare Schools Before an Admission Decision

Blog banner

File Organization and Access

Blog banner

Safeguarding Your Data: The Importance of Wireless Encryption

Blog banner

I Personally

Blog banner

Carrot Pickle With Raisins (lagan Nu Achar)

Blog banner

OS Evolution Achievements

Blog banner

Answer

Blog banner

10 Signs your Computer has Virus

Blog banner

The seven-step improvement process

Blog banner

Major achievement

Blog banner

Study on cyber and network forensic in computer security management

Blog banner

6 Digital Marketing Trends You Must Watch Out For In 2022

Blog banner

MD5 Collisions and the impact on computer forensics

Blog banner

RSA (Rivest-Shamir-Adelman) Algorithm

Blog banner

When Is the Right Time to Enrol My Toddler Into Preschool? NEP

Blog banner

MODERN OPERATING SYSTEM

Blog banner

An Overview of Virtual Machines

Blog banner

Service Design Model

Blog banner

Starvation

Blog banner

Rain bow

Blog banner

Creating Digitally Signed Document

Blog banner

CRISP-DM Methodology

Blog banner

Stop Racism

Blog banner

ZOHO

Blog banner

Modern Operating system

Blog banner

The Role of Summer Camps in Early Childhood Development

Blog banner

Data is an asset and it is your responsibility!

Blog banner

Fault Tolerance in an Operating System

Blog banner

IP Address

Blog banner

Critical success factors

Blog banner

Trello ( management software)

Blog banner