线程是进程内部的执行流。多个线程共享同一进程的大部分资源,因此创建和切换成本通常低于进程,但共享也会带来数据竞争、死锁、丢失唤醒和生命周期管理等问题。
本文以 POSIX Threads 为主线,讲解线程创建、退出、等待、分离,以及互斥锁、条件变量、信号量、读写锁、生产者消费者模型和线程池设计。
一、进程与线程1.1 线程是什么线程可以理解为进程内部的一 ...
前言C++11 是现代 C++ 的重要起点。它并不是简单增加几个语法糖,而是从语言表达能力、资源管理、泛型编程和并发支持等方面系统地改造了 C++。
与 C++98/03 相比,C++11 的重要变化包括:
统一的列表初始化;
auto 与 decltype 类型推导;
范围 for 循环;
nullptr、constexpr 和 static_ ...
