幫助中心 | 我的帳號 | 關於我們

Linux多線程服務端編程(使用muduo C++網路庫)

  • 作者:陳碩|責編:李雲靜
  • 出版社:電子工業
  • ISBN:9787121192821
  • 出版日期:2013/01/01
  • 裝幀:平裝
  • 頁數:600
人民幣:RMB 128 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書主要講述採用現代C++在x86-64 Linux上編寫多線程TCP網路服務程序的主流常規技術,重點講解一種適應性較強的多線程伺服器的編程模型,即one loop per thread。這是在Linux下以native語言編寫用戶態高性能網路程序最成熟的模式,掌握之後可順利地開發各類常見的服務端網路應用程序。本書以muduo網路庫為例,講解這種編程模型的使用方法及注意事項。
    本書的宗旨是貴精不貴多。掌握兩種基本的同步原語就可以滿足各種多線程同步的功能需求,還能寫出更易用的同步設施。掌握一種進程間通信方式和一種多線程網路編程模型就足以應對日常開發任務,編寫運行於公司內網環境的分散式服務系統。

作者介紹
陳碩|責編:李雲靜
    陳碩,北京師範大學碩十,擅長C++多線程網路編程和實時分散式系統架構。曾在摩根士丹利IT部門工作5年,從事實時外匯交易系統開發。現在在美國加州矽谷某互聯網大公司工作,從事大規模分散式系統的可靠性工程。編寫了開源C++網路庫muduo,參與翻譯了《代碼大全(第2版)》和《C++編程規範(繁體版)》,整理了《C++ Primer(第4版)(評註版)》,並曾多次在各地技術大會演講。

目錄
第1部分  C++多線程系統編程
  第1章  線程安全的對象生命期管理
    1.1  當析構函數遇到多線程
      1.1.1  線程安全的定義
      1.1.2  MutexLock與MutexLockGuard
      1.1.3  一個線程安全的Counter示例
    1.2  對象的創建很簡單
    1.3  銷毀太難
      1.3.1  mutex不是辦法
      1.3.2  作為數據成員的mutex不能保護析構
    1.4  線程安全的Observer有多難
    1.5  原始指針有何不妥
    1.6  神器shared_ptr/weak_ptr
    1.7  插曲:系統地避免各種指針錯誤
    1.8  應用到Observer上
    1.9  再論shared_ptr的線程安全
    1.10  shared_ptr技術與陷阱
    1.11  對象池
      1.11.1  enable_shared_from_this
      1.11.2  弱回調
    1.12  替代方案
    1.13  心得與小結
    1.14  Observer之謬
  第2章  線程同步精要
    2.1  互斥器(mutex)
      2.1.1  只使用非遞歸的mutex
      2.1.2  死鎖
    2.2  條件變數(condition variable)
    2.3  不要用讀寫鎖和信號量
    2.4  封裝MutexLock、MutexLockGuard、Condition
    2.5  線程安全的Singleton實現
    2.6  sleep(3)不是同步原語
    2.7  歸納與總結
    2.8  借shared_ptr實現copy-on-write
  第3章  多線程伺服器的適用場合與常用編程模型
    3.1  進程與線程
    3.2  單線程伺服器的常用編程模型
    3.3  多線程伺服器的常用編程模型
      3.3.1  one loop per thread
      3.3.2  線程池
      3.3.3  推薦模式
    3.4  進程間通信只用TCP
    3.5  多線程伺服器的適用場合
      3.5.1  必須用單線程的場合
      3.5.2  單線程程序的優缺點
      3.5.3  適用多線程程序的場景
    3.6  「多線程伺服器的適用場合」例釋與答疑
  第4章  C++多線程系統編程精要
    4.1  基本線程原語的選用
    4.2  C/C++系統庫的線程安全性

    4.3  Linux上的線程標識
    4.4  線程的創建與銷毀的守則
      4.4.1  pthread_cancel與C++
      4.4.2  exit(3)在C++中不是線程安全的
    4.5  善用__thread關鍵字
    4.6  多線程與IO
  ……
  第5章  高效的多線程日誌
第2部分  muduo網路庫
  第6章  muduo網路庫簡介
  第7章  muduo編程示例
  第8章  muduo網路庫設計與實現
第3部分  工程實踐經驗談
  第9章  分散式系統工程實踐
  第10章  C++編譯鏈接模型精要
  第11章  反思C++面向對象與虛函數
  第12章  C++經驗談
第4部分  附錄
附錄A  談一談網路編程學習經驗
附錄B  從《C++ Primer(第4版)》入手學習C++
附錄C  關於Boost的看法
附錄D  關於TCP併發連接的幾個思考題與試驗
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032