《Linux多线程服务端编程——使用muduo C++网络库》读书笔记
第一章 線程安全的對象生命期管理
第二章 線程同步精要
第三章 多線程服務(wù)器的適用場合與常用編程模型
第四章 C++多線程系統(tǒng)編程精要
1.(P84)11個常用的最基本Pthreads函數(shù):
2個:線程的創(chuàng)建和等待結(jié)束(join)。封裝為muduo::Thread 4個:mutex的創(chuàng)建、銷毀、加鎖、解鎖。封裝為muduo::MutexLock 5個:條件變量的創(chuàng)建、銷毀、等待、通知、廣播。muduo::Condition2.(P85)不推薦使用讀寫鎖的原因是它往往造成提高性能的錯覺(允許多個線程并發(fā)讀),實際上在很多情況下,與使用最簡單的mutex相比,它實際上降低了性能。
3.(P85)從理論上講,如果沒有合適的內(nèi)存模型,編寫正確的多線程程序?qū)儆谧泊筮\行為,見Hans-J.Boehm的論文《Threads Cannot be Implemented as a Library》:
http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf4.(P86)我們不必?fù)?dān)心系統(tǒng)調(diào)用的線程安全性,因為系統(tǒng)調(diào)用對于用戶態(tài)程序來說是原子的。但是要注意系統(tǒng)調(diào)用對于內(nèi)核狀態(tài)的改變可能影響其他線程。
5.(P86)POSIX標(biāo)準(zhǔn)列出了一份線程安全的黑名單,在這份黑名單中,system、getenv/putenv/setenv等函數(shù)都是不安全的。
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09?
?
轉(zhuǎn)載于:https://www.cnblogs.com/big-xuyue/p/3761792.html
總結(jié)
以上是生活随笔為你收集整理的《Linux多线程服务端编程——使用muduo C++网络库》读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenDDS环境搭建-Windows
- 下一篇: Linux-Android 修改屏蔽长按