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