1)You must use Concurrency
2)You explain code me
3)You have to write 2 task out of 4
1*** Write a program that solves the readers/writers problem in a manner that prevents starvation of all agents. Devise your own lock.
2*** Write a program that solves the readers/writers problem in a manner that prevents starvation of all agents. Include a fair non-uniform system of priorities.
3*** Write a concurent LIFO queue with a blocking pop() operation. Pop requests are handled in FIFO order. The vip_pop() operation cuts in the line.
4*** Bike rental server
(it may be an extension of the bike rental script covered in class)
The bike rental server has a set of bikes at its disposal. Each bike has a (non-neccesarily unique) colour.
Clients can rent one bike at a time. Then, they use it for some (may it be random) period of time and then the bike is returned.
Each request can rent either
* whichever available bike
* bike of a certain colour
If an appropriate bike is not available, the requesting client is blocked waiting.