学习 C++11 多线程并发编程的过程中编写的一些 Demo,用于演示 C++11 标准线程库的用法。
- spinlock/:使用 
std::atomic_flag实现一个简单的自旋锁。 - threadsafe_queue/:使用 
std::mutex和std::condition_variable实现一个简单的线程安全的队列。 - thread_pool/:使用 
std::packaged_task和std::future实现一个简单的线程池。 - producer_consumer/:基于有限阻塞队列实现生产者消费者模型。
 
编译环境:
- Ubuntu 22.04
 - g++ 11.3.0
 - C++17
 
主要参考资料:《C++ 并发编程实战》(第二版)。
- 线程安全队列的无锁实现。