[c++11]多线程编程(一)——初识 https://www.jianshu.com/p/5d273e4e3cbb
[c++11]多线程编程(二)——理解线程类的构造函数 https://www.jianshu.com/p/109df8a7e627
[c++11]多线程编程(三)——竞争条件与互斥锁 https://www.jianshu.com/p/4a2578dd9b5d
[c++11]多线程编程(四)——死锁(Dead Lock) https://www.jianshu.com/p/c01e992a3d9d
[c++11]多线程编程(五)——unique_lock https://www.jianshu.com/p/34d219380d90
[c++11]多线程编程(六)——条件变量(Condition Variable) https://www.jianshu.com/p/c1dfa1d40f53
join的必要:
举个例子,现在有 A, B, C 三件事情,只有做完 A 和 B 才能去做 C,而 A 和 B 可以并行完成。
int main(){
thread t = new thread(A);
B(); // 此时 A 与 B 并行进行
t.join(); // 确保 A 完成
C();
}