Question: Implement the Dining Philosophers model in Figure 6.12 with semaphores; however, make use of sem_trywait or sem_timedwait in a measure to avoid starvation and deadlocks.

  • Implement the Dining Philosophers model in Figure 6.12 with semaphores; however, make use of sem_trywait or sem_timedwait in a measure to avoid starvation and deadlocks. Have the main program kill the threads after no more than five minutes. The eat function should cause a line to output indicating which philosopher is eating and when. Both of the function think and eat should use a random sleep duration to keep the philosophers unpredictable.

https://imgur.com/a/TNIv2A6

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!