Developing code with threads, Operating System

Assignment Help:

Developing Code with Threads

Writing code to support a thread-based implementation is very straightforward. Simple APIs are presented to the developer for each threads package. Actually, there are striking similarities between thread implementations on NetWare, Windows NT, and OS/2. We will use the Worker Model example of threads implementation introduced in the previous section. This example will be extended to include specifics for creating, controlling, and exiting threads for each platform. Listing shows the pseudocode representation of our example. We will only modify commands relating to threads in this example. Those commands will be highlighted and all other pseudocode will be left as-is.

LISTING

AcceptRegistrationRequests()

{

 do {

  .......

  WaitForClientRequestration( )

  RegisterClient()

  RegisterAsUser

  StartWorkerThread ()

           .......

  } while (FOREVER)

    }

    WorkerThread()

     {

    do {

  WaitForInterval ()

    if (CheckForWorkRequest() )  {

         Process Request ( )

         Send Response ( )

  }

     } while(CLIENT_CONNECTED)

     LeaveThread( )

}


Related Discussions:- Developing code with threads

Multiprogramming, explain how response time are reduced by allowing time sh...

explain how response time are reduced by allowing time sharing on top of multiprogramming

Explain about memory-management scheme, Q. In the IBM/370 memory protectio...

Q. In the IBM/370 memory protection is offered through the use of keys. A key is a 4-bit quantity every 2K block of memory has a key (the storage key) associated with it. The CPU

Transportation, what are the factors influencing the choice of a mode of tr...

what are the factors influencing the choice of a mode of transportation?

Explain peterson''s solution for the critical section problem, Explain the ...

Explain the Peterson's solution for the critical section problem? In Peterson's solution two variables a) flag and b) turn are used as shared variables. If the both shared vari

What are the necessary conditions for deadlocks?, What are the necessary co...

What are the necessary conditions for deadlocks? 1. Mutual exclusion :  Only one process at a time is able to use the resource. 2. Hold and wait :  A process should be holdi

What is meant by the term affinity in processor sheduling, Question: (a...

Question: (a) Answer the following questions based on the code snippet below. 1. int main (int argc, char *argv[]) 2. { 3. 4. pid_t processId; 5. 6. processId =

What is a path name, What is a path name? A pathname is the path from t...

What is a path name? A pathname is the path from the root by all subdirectories to a specified file. In a two-level directory structure a user name and a file name explain a pa

Explain the fork-join, Explain the Fork-join This is primitives in a hi...

Explain the Fork-join This is primitives in a higher level programming language for implementing interacting processes. The syntax is like this: fork ; join ; where

Memory hierarchy, Difference between cache and associate memory

Difference between cache and associate memory

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