Sashank Kurra
← projects

Systems / C++ · C++ systems project

Concurrent Job Scheduler

Priority-aware multithreaded execution engine

C++ · Threads · Mutexes · Condition variables · Priority queues · Failure recovery

Built a C++ job scheduler with a shared priority queue and multiple worker threads. The main challenge was keeping shared state correct while several workers were taking, running, and updating tasks at the same time.

01Task submission
02Priority queue
03Synchronization boundary
04Worker pool
05Execution / retry
06Completion state

Ran multiple worker threads against a shared task queue.

Used mutexes and condition variables to coordinate workers and protect shared state.

Supported task priorities instead of processing everything strictly first-in, first-out.

Tracked task results and included retry behavior for failures.

Concurrency bugs depend on timing, so correct locking and ownership mattered more than whether a single test run looked right.

Workers had to sleep, wake, and modify the queue without losing tasks or racing each other.

Built a multithreaded scheduler demonstrating practical C++ concurrency, prioritization, synchronization, and failure handling.

← All projectsHome →