Mutex lock variablelock

Assignment Help Basic Computer Science
Reference no: EM132329178

Suppose we have two threads, in a producer/consumer arangement that are communicating via a first-in-first-out buffer. The producer thread deposits data into the buffer, and the consumer thread removes data from the buffer. The following variables define a simple circular buffer that can store string values:

        #define BUFFERSIZE 50
        char* buffer[BUFFERSIZE];  //The data buffer
        int inIndex= 0;//Next item goes in at this index
        
        int outIndex= 0;//Next item comes out from this index
        
        int count= 0;//Number of items in the buffer

Here is the code for the bufferPut function:

void bufferPut(char* data)
    {
        pthread_mutex_lock(&lock);
        while( count==BUFFERSIZE ){
            pthread_cond_wait(&notFull,&lock)
        }
        buffer[inIndex]= data;
        inIndex++;
        if( inIndex==BUFFERSIZE ){
inIndex= 0; }
        count++;
        pthread_signal(&notEmpty);
        pthread_mutex_unlock(&lock);
}

(The bufferGet function looks very similar.)

(a) In the bufferPut function, why is mutex variable named lock? needed?

(b) When count == BUFFERSIZE, the buffer is full. In this situation, the bufferPutfunction calls pthread cond wait. Explain what pthread cond wait does.

(c) Why does the call to pthread cond wait need to be passed the mutex lock variablelock?

(d) Why is the call to pthread cond wait contained within a while loop, and instead of within a simple if statement?

Reference no: EM132329178

Questions Cloud

What risk management framework : What risk management framework is best to use for federal government applications residing in the cloud?
Discuss how innovations will affect your company products : Answer the student response to the question in 150 words and provide 1 reference: What do you think will be some of the most important innovations.
Importance of clearing cookies from a device : What is the importance of clearing cookies from a device? And what effect could this have on the device if this is not done?
Identify and troubleshoot problems : Discuss how you can use system tools, such as the Task Manager, to help identify and troubleshoot problems?
Mutex lock variablelock : Why does the call to pthread cond wait need to be passed the mutex lock variablelock?
What do you think will be some of the important innovations : What do you think will be some of the most important innovations in logistics over the next ten years? As you identify these large innovations.
Show calculations for the amount of depreciation expense : Show calculations for the amount of depreciation expense U will recognize in 2017 under straight-line, units-of-production, and double-declining depreciation.
Discuss the technological changes : Discuss the technological changes that have been made since now and how those changes have affected humanity, and how those changes have affected themselves.
Determining possible physical threats : How can you determining possible physical threats may affect the choice of physical security countermeasures while planning new or updated security systems.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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