lab7
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lab7 [2016/02/24 14:05] – created franck | lab7 [2019/03/14 01:13] (current) – franck | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Consider | + | ====== Lab 7 ====== |
| - | < | + | |
| - | <pre> | + | You are asked to implement a solution to the sleeping barber problem in Java. Some Java code has already been developed (see below). |
| - | public class ComputeSquareRoot { | + | |
| - | | + | The barber has one barber' |
| - | double data = 3.1415926; | + | |
| - | System.out.println(" | + | Each customer, when they arrive, looks to see what the barber is doing. |
| - | } | + | |
| - | } | + | The waiting room is represented by the class WaitingRoom and the barber and the customers are represented by Barber and Customer threads. |
| - | </pre> | + | |
| - | </html> | + | Since randomization is used in some of the classes, different runs of the app may produce different outputs. |
| + | < | ||
| + | Barber sleeps | ||
| + | Customer 4 enters | ||
| + | Customer 4 sits down | ||
| + | Barber wakes up | ||
| + | Customer 4 gets a haircut | ||
| + | Customer 4 leaves | ||
| + | Customer 3 enters | ||
| + | Customer 3 sits down | ||
| + | Customer 1 enters | ||
| + | Customer 1 sits down | ||
| + | Customer 3 gets a haircut | ||
| + | Customer 3 leaves | ||
| + | Customer 0 enters | ||
| + | Customer 0 sits down | ||
| + | Customer 2 enters | ||
| + | Customer 2 sits down | ||
| + | Customer 1 gets a haircut | ||
| + | Customer 1 leaves | ||
| + | Customer 0 gets a haircut | ||
| + | Customer 0 leaves | ||
| + | Customer 2 gets a haircut | ||
| + | Customer 2 leaves | ||
| + | Barber | ||
| + | </ | ||
| + | In the above run, there are never more than three customers in the waiting room and therefore all customers get a haircut. | ||
| + | < | ||
| + | Barber sleeps | ||
| + | Customer 1 enters | ||
| + | Customer 1 sits down | ||
| + | Barber wakes up | ||
| + | Customer 2 enters | ||
| + | Customer 2 sits down | ||
| + | Customer 3 enters | ||
| + | Customer 3 sits down | ||
| + | Customer 4 enters | ||
| + | Customer 4 leaves because no chair is free | ||
| + | Customer 0 enters | ||
| + | Customer 0 leaves because no chair is free | ||
| + | Customer 1 gets a haircut | ||
| + | Customer 1 leaves | ||
| + | Customer 2 gets a haircut | ||
| + | Customer 2 leaves | ||
| + | Customer 3 gets a haircut | ||
| + | Customer 3 leaves | ||
| + | Barber is done for the day | ||
| + | </code> | ||
| + | In the above run, customers 4 and 0 leave before getting a haircut since all chairs in the waiting room are occupied. | ||
| + | |||
| + | To receive feedback, submit your code **before** March 23 using the submit command: | ||
| + | < | ||
| + | submit 4315 lab7 <name of class> | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| - | - Develop a model class so that the above app can be verified with JPF. [[https:// | ||
| - | - Develop a native peer so that the above app can be verified with JPF. | ||
lab7.1456322711.txt.gz · Last modified: by franck
