By the end of Session 6, you should be able to:
- explain why shared resources need coordination
- use a mutex with
threading.Lock - use a semaphore with
threading.Semaphore - limit concurrent work in a practical I/O-style task
- design a small parallel resource-allocation project
- Part 1
- Part 2
- Optional Mini Project
- Homework
- Write your own work in solutions.
- Review reference solutions only after attempting tasks yourself.
- Practice with quizzes when ready.
- Tutorial and warm-up material is included directly inside each part markdown file.
- Keep your own solutions in separate files inside
solutions/. - Use exercise-style names in
solutions/(for exampleexercise-06-01.py,exercise-06-02.py). - For the optional project, create
solutions/exercise-06-project.py. - For homework, create
solutions/exercise-06-homework.md. - Create your files inside
solutions/as you work through each part. - Reference answers are in
session_solutions/. - If
requirements.txtis missing, create it and add:requests==2.32.3Fakerquizmd
- Keep all dependencies in
requirements.txt, then install with:pip install -r requirements.txt