← All projects
Concurrency2023Solo Engineer

Philosophers

A classical concurrency problem implemented to explore thread synchronization, mutexes, and deadlock prevention.

CThreads

01 · Problem

What made this interesting

The dining philosophers problem requires coordinating shared resource access across concurrent threads while preventing deadlocks and ensuring fair scheduling.

02 · Approach

How I solved it

Implemented thread-based simulation with mutex locks for fork synchronization, careful lock ordering to prevent deadlocks, and timestamp-based meal tracking for validation.

03 · Result

What came out of it

A concurrent simulation demonstrating thread synchronization, mutex management, and deadlock prevention strategies.

04 · Highlights

Key technical details

Thread synchronization
Mutex-based resource locking
Deadlock prevention
Timestamp-based validation

Next case study

CPP Modules

A progressive exploration of C++98 through C++11, covering memory management, templates, STL, and object-oriented design.