Description
Description:
This is based on Exercise 7.9 from the text. Implement your solutions in Racket
using only channels for synchronization. You may choose to use either synchronous or
asynchronous channels.
Two kinds of processes, A’s and B’s, enter a room. An A process cannot leave until
it meets two B processes, and a B process cannot leave until it meets one A process.
Each kind of process leaves the room—without meeting any other processes—once it
has met the required number of other processes.
(a) Develop a server process to implement this synchronization. Show the interface of
A and B processes to the server.
(b) Modify your answer to (a) so that the first of the two B processes that meets an A
process does not leave the room until after the A process meets a second B process.
Turn in:
(a) A single racket file demonstrating your solution to (a)
(b) A single racket file demonstrating your solution to (b)
(c) A writeup, explaining your strategy for both solutions.
Due date:
Wednesday, March 11, midnight.
1