日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

新书预告:《Linux 多线程服务端编程——使用 muduo C++ 网络库》

發布時間:2025/6/15 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新书预告:《Linux 多线程服务端编程——使用 muduo C++ 网络库》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看完了 W. Richard Stevens 的傳世經典《UNIX 網絡編程》, 能照著例子用 Sockets API 編寫 echo 服務, 卻仍然對稍微復雜一點的網絡編程任務感到無從下手? 書中示例代碼把業務邏輯和 Sockets 調用混在一起,似乎不利于將來擴展?

  • 程序在本機測試正常,放到網絡運行上就經常出現數據收不全的情況?
  • TCP 協議真的有所謂的“粘包問題”嗎?該如何設計打包拆包的協議?又該如何編碼實現才不會掉到陷阱里?
  • 帶外數據(OOB)、信號驅動IO這些高級特性到底有沒有用?
  • 網絡協議格式該怎么設計?發送 C struct 會有對齊方面的問題嗎?對方不用 C/C++ 怎么通信? 將來服務端軟件升級,需要在協議中增加一個字段,現有的客戶端就必須強制升級?
  • 要處理幾千上萬的并發連接,似乎書上講的傳統 fork() 模型應付不過來,該用哪種并發模型呢? 試試 select、poll、epoll 這種 IO 復用模型吧,又感覺非阻塞IO陷阱重重,怎么程序的 CPU 使用率一直是100%?
  • 要不改用現成的 libevent 網絡庫吧,怎么查詢一下數據庫就把其他連接上的請求給耽誤了? 再用個線程池吧。萬一發回響應的時候對方已經斷開連接了怎么辦?會不會串話?
  • 讀過《UNIX 環境高級編程》,想用多線程來發揮多核 CPU 的效率, 但對程序該用哪種多線程模型感到一頭霧水? 有沒有值得推薦的適用面廣的多線程 IO 模型? 互斥器、條件變量、讀寫鎖、信號量這些底層同步原語哪些該用哪些不該用? 有沒有更高級的同步設施能簡化開發? 《UNIX 網絡編程(第二卷)》介紹的那些琳瑯滿目的IPC機制到底用哪個才能兼顧開發效率與可伸縮性?

網絡編程和多線程編程的基礎打得差不多,開始實際做項目了,更多問題撲面而來:

  • 網上聽人說服務端開發要做到 7x24 運行,為了防止內存碎片連動態內存分配都不能用, 那豈不是連 C++ STL 也一并禁用了?硬件的可靠性高到值得去這么做嗎?
  • 傳聞服務端開發主要通過日志來查錯,那么日志里該寫些什么?日志是寫給誰看的?怎樣寫日志才不會影響性能?
  • 分布式系統跟單機多進程到底有什么本質區別?心跳協議為什么是必須的,該如何實現?
  • C++ 的大型工程該如何管理?庫的接口如何設計才能保證升級的時候不破壞二進制兼容性?

這本《Linux 多線程服務端編程》中,作者憑借多年的工程實踐經驗試圖解答以上疑問。當然,內容還遠不止這些……

?

本書配套頁面:?http://chenshuo.com/book?,將不定期更新。



? ? 本文轉自 陳碩 ?博客園博客,原文鏈接:http://www.cnblogs.com/Solstice/archive/2012/09/21/2696275.html,如需轉載請自行聯系原作者




總結

以上是生活随笔為你收集整理的新书预告:《Linux 多线程服务端编程——使用 muduo C++ 网络库》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。