Today, we are discussing lock-based programming in concurrent systems. This video is divided into three main parts: it begins with theory, continues with practical tools, and concludes with potential issues that may arise. Important: This video is intended to teach you the fundamental concepts behind concurrency. It is not meant to be taken as a step-by-step coding tutorial. Tools Discussed: Mutex Critical Sections (Windows) Semaphores Events (Windows) Promise & Future Problems Discussed: Deadlocks Starvation Global Ordering Timestamps: 0:00 Intro 0:30 Serial code 2:00 Concurrent code 3:20 Expected bugs 3:33 Disclaimer 4:16 Data races 5:38 Decomposed operations 6:00 Race condition 6:32 Atomicity 7:20 Atomic operations 8:33 Sync primitives 9:10 Mutex 10:32 Mutex usage 11:11 Critical sections 12:35 Semaphore 13:40 Events 14:28 Promise & Future 15:48 Discussing bugs 16:05 Deadlock 18:07 Starvation 19:15 Global Ordering 20:24 Outro 20:40 Credits 22:10 End Link to the 3D Model I used : source code to motion graphics (motion canvas project) : #MadeWithMotionCanvas











