Explain the concept of thread, Computer Engineering

Assignment Help:

The Concept of Thread

A thread is a sequential flow of control within a process. A process is able to have one or more threads. Threads have their own register-values and program-counter but they share memory space and other resources of the process. Every process begins with a single thread. Through the execution, other threads can be created as and when required. Similar to processes, every thread has an execution state (terminated, ready, blocked or running). A thread has right to use the memory address space and resources of its process. Threads have similar life cycles as processes do. A single processor system may support concurrency by switching execution among two or more threads. A multi processor system may support parallel concurrency by executing a separate thread on every processor. There are three fundamental techniques in concurrent programming languages for terminating and creating threads: 

  • Unsynchronised creation and termination - In this mode threads are created and terminated by means of library functions for example START_PROCESS, CREATE_PROCESS, START_THREAD, CREATE_THREAD and. Thus because of these function calls a new thread or process is created and starts executing independent of its parents.
  • Synchronized termination and unsynchronised creation: This manner uses two instructions: JOIN and FORK. The FORK instruction creates a new thread or process. When the parent needs the child's (thread or process) result, it calls JOIN instruction. At this junction two processes (threads) are synchronised.
  • Synchronised termination and creation: The most often system construct to implement synchronization is COBEGIN...COEND. The threads among the COBEGIN...COEND construct are implemented in parallel. The termination of parent-child is suspended till all child threads are terminated.

We can think of a thread as essentially a lightweight process. Though, threads propose a number of advantages over processes. The advantages are as follows:

a)  It does not take so much time to create and terminate a new thread than to create and terminate a process. The reason is that a newly created thread uses the current process address space.  

b)  It does not take so much time to switch between two threads within a common process, partly since the newly created thread uses current process address space. 

c)  Less communication overheads -- communicating between the threads of one process is simple since the threads share amongst other entities the address space. So, data generated by one thread is right away available to all other threads.


Related Discussions:- Explain the concept of thread

With respect to security which is the better .net or j2ee, With respect to...

With respect to security, which one is the better choice?.Net or J2EE? Explain? As per majority programmers .NET is the best one which have one vendor compare to, the ease of

Ms access database through menu driven selections, Would you like to easily...

Would you like to easily automate your MS Access database through menu driven selections? This can be accomplished by producing a form with customized buttons that point to macr

Identify state as shifting register content to left by 1 bit, Shifting a re...

Shifting a register content to left by one bit position is equivalent to ? Ans. Multiplication by two is equivalent while shifting register content to left by one bit position.

Centres of keycaps, A full size keyboard has distance between centres of ke...

A full size keyboard has distance between centres of keycaps (keys) like 19mm (0.75in).The keycaps have a top of nearly 0.5in (12.5in) that is shaped as a sort of dish to help you

What do you mean by e-brokerage, What do you mean by e-brokerage? E-bro...

What do you mean by e-brokerage? E-brokerage is an investment house which permits you to buy and sell stocks and acquire investment information through its Web site. E-comme

Explain cache organisation, Q. Explain Cache Organisation? Cache memori...

Q. Explain Cache Organisation? Cache memories are found in nearly all latest computers.  They are very helpful for increasing speed of access of information from memory.  Let's

Explain concurrent sharing, Explain Concurrent Sharing Here a number of...

Explain Concurrent Sharing Here a number of programs that may share a file simultaneously. While this is the case, it is necessary to prevent mutual interference among them. Th

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd