# Introduction

This repository covers Windows APIs that focuses on synchronization objects, such as Critical Sections, Mutex, Events, Semaphore, and many more. Synchronization objects are fundamental in coordinating the actions of multiple threads. By understanding these objects, we gain insight into:

- How and when threads communicate.
- How resources are shared and protected.
- Potential areas of contention or race conditions.

Multi-threading bugs can be challenging to diagnose and fix, so understanding how synchronization objects works helps us to identify and troubleshoot issues like deadlocks and race conditions for example.

# Disclaimer

The code snippets provided in this repository are intended for demonstration purposes only and serve as proof-of-concept (POC) to understand the concept.

