Multithreading ============== Goals ----- * First and foremost: learn what a race condition is * Learn how to avoid race conditions * (Binary) semaphore, as done on most bare metal OSen * Mutex and its several Linux flavors (recursive, for example) * Learn how to *communicate* * Counting semaphore * Condition variable .. ot-group:: ecproposal.ec1.mt .. ot-graph:: :entries: ecproposal.ec1.mt