Aufgabe 6: Synchronisation
Todo List
- Member Bell::ring ()
- Implement Method
- Member Bell::sleep (unsigned int ms)
- Implement Method
- Member Bellringer::bellPending ()
- Implement Method
- Member Bellringer::cancel (Bell *bell)
- Implement Method
- Member Bellringer::check ()
- Implement Method
- Member Bellringer::job (Bell *bell, unsigned int ms)
- Implement Method
- Member GuardedBell::sleep (unsigned int ms)
- Implement method
- Member GuardedKeyboard::getKey ()
- Implement method
- Member GuardedSemaphore::GuardedSemaphore (unsigned c)
- Implement constructor
- Member GuardedSemaphore::p ()
- Implement method
- Member GuardedSemaphore::v ()
- Implement method
- Member IdleThread::action () override
- Implement Method
- Member Keyboard::epilogue () override
- Adjust method
- Member Keyboard::getKey ()
- Implement Method
- Member Keyboard::Keyboard ()
- Modify constructor (to initialize the Semaphore with
0
) - Class KeyboardApplication
- Use Keyboard::getKey()
- Member Scheduler::block (Waitingroom *waitingroom)
- Implement Method
- Member Scheduler::isEmpty ()
- Implement Method
- Member Scheduler::wakeup (Thread *customer)
- Implement Method
- Member Semaphore::p ()
- Implement Method
- Member Semaphore::Semaphore (unsigned c=0)
- Implement Constructor
- Member Semaphore::v ()
- Implement Method
- Member Thread::getWaitingroom () const
- Implement Method
- Member Thread::setWaitingroom (Waitingroom *w)
- Implement Method
- Member Waitingroom::remove (Thread *customer)
- Implement Method
- Member Waitingroom::~Waitingroom ()
- Implement Destructor
- Member WakeUp::activate ()
- Implement Method (MPStuBS)
- Member WakeUp::prologue ()
- Implement Method (MPStuBS)
- Member Watch::epilogue () override
- Extend method (add Bellringer)