This course focuses on lock-based data structures in C++. It covers synchronization mechanisms like mutexes and condition variables to implement thread-safe data structures. Students will learn how to create lock-based concurrent data structures like stacks, queues, and lists, and understand the benefits and challenges of using locks for synchronization.
Overview
Syllabus
- Unit 1: Thread-safe Stack using Locks
- Fixing Threadsafe Stack Issues
- Implementing the Empty Method
- Add Method to Threadsafe Stack
- Unit 2: Thread-safe Queue with Condition Variables
- Enhance Thread-safe Queue Operations
- Fill in the Try Pop Method
- Complete Thread-safe Queue Method
- Unit 3: Thread-safe Lists Using Locks
- Building a Thread-safe Linked List
- Implement for_each in Thread-safe List
- Implement Energy Search in List
- Implement Thread-safe List Removal