第一章 线程安全的对象生命期管理html
第二章 线程同步精要编程
第三章 多线程服务器的适用场合与经常使用编程模型安全
第四章 C++多线程系统编程精要服务器
1.(P84)11个经常使用的最基本Pthreads函数:多线程
2个:线程的建立和等待结束(join)。封装为muduo::Thread
4个:mutex的建立、销毁、加锁、解锁。封装为muduo::MutexLock
5个:条件变量的建立、销毁、等待、通知、广播。muduo::Condition
2.(P85)不推荐使用读写锁的缘由是它每每形成提升性能的错觉(容许多个线程并发读),实际上在不少状况下,与使用最简单的mutex相比,它实际上下降了性能。并发
3.(P85)从理论上讲,若是没有合适的内存模型,编写正确的多线程程序属于撞大运行为,见Hans-J.Boehm的论文《Threads Cannot be Implemented as a Library》:函数
http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
4.(P86)咱们没必要担忧系统调用的线程安全性,由于系统调用对于用户态程序来讲是原子的。可是要注意系统调用对于内核状态的改变可能影响其余线程。性能
5.(P86)POSIX标准列出了一份线程安全的黑名单,在这份黑名单中,system、getenv/putenv/setenv等函数都是不安全的。spa
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09