Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Solve using pthreads not windows api!!! Problem Hw3.c code file to go finish coding #include buffer.h #include #include #include #include buffer_item buffer[BUFFER_SIZE]; void *producer(void *param);

Solve using pthreads not windows api!!!
Problem
image text in transcribed
Hw3.c code file to go finish coding
#include "buffer.h"
#include
#include
#include
#include
buffer_item buffer[BUFFER_SIZE];
void *producer(void *param);
void *consumer(void *param);
int insert_item(buffer_item item)
{
/* Acquire Empty Semaphore */
/* Acquire mutex lock to protect buffer */
/* Insert item into buffer */
/* Release mutex lock and full semaphore */
return 0;
}
int remove_item(buffer_item *item)
{
/* Acquire Full Semaphore */
/* Acquire mutex lock to protect buffer */
/* remove an object from buffer placing it in item */
/* Release mutex lock and empty semaphore */
return 0;
}
int main(int argc, char *argv[])
{
/* Get command line arguments argv[1],argv[2],argv[3] */
/* Initialize buffer related synchronization tools */
/* Create producer threads based on the command line input */
/* Create consumer threads based on the command line input */
/* Sleep for user specified time based on the command line input */
return 0;
}
void *producer(void *param)
{
/* producer thread that calls insert_item() */
}
void *consumer(void *param)
{
/* consumer thread that calls remove_item() */
}
Buffer.h file
/* buffer.h*/
typedef int buffer_item;
#define BUFFER_SIZE 5
int insert_item(buffer_item item);
int remove_item(buffer_item *item);
image text in transcribed
image text in transcribed
image text in transcribed
image text in transcribed
Design and implement a solution for Producer-Consumer Problem using Pthreads library in Linux virtual machine. Steps: Download buffer.h and the incomplete version of hw3.c from iCollege Read through Programming Project 3 of Chapter 5 (Producer-Consumer Problem) in the textbook. Follow the suggestion in the textbook to complete the C program using Pthreads. Do NOT solve the problem using Windows API In addition to the requirement in the textbook, print a message every time an item is produced or consumed in your producer and consumer threads. The message should also include the thread ID of the producer or consumer. To get a thread's ID, you may call pthread_self) function and convert the result into an integer. For example, you can use printf("Consumer %u consumed %d ",(unsigned int) pthread-self(), consumed-number); for the consumer. You can use a similar code for the producer. Compile the C source file using gcc -pthread-o hw3 hw3.c Use ./hw3

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2014 Nancy France September 15 19 2014 Proceedings Part I Lnai 8724

Authors: Toon Calders ,Floriana Esposito ,Eyke Hullermeier ,Rosa Meo

2014th Edition

3662448475, 978-3662448472

More Books

Students also viewed these Databases questions