- The doctors are represented by a thread_pool
- The patients are created in different threads after a random delay and are submited to the thread pool taskQueue to be executed
- Each patient has an id and a creation time, used to calculate the time it took to be reach a free doctor (thread from thread pool)
- Each patient stays at a cabinet for a random time to keep the doctor occupied