• <em id="pai5d"></em><sup id="pai5d"></sup>
    
    

    <small id="pai5d"><rp id="pai5d"></rp></small>
    <option id="pai5d"></option>

    
    
  • <sup id="pai5d"></sup>
    <em id="pai5d"><label id="pai5d"></label></em>

  • <s id="pai5d"></s>
    當前位置 : 首頁(yè)  圖書(shū) 正文

    C++并發(fā)編程實(shí)戰簡(jiǎn)介,目錄書(shū)摘

    2020-03-02 09:31 來(lái)源:京東 作者:京東
    c++并發(fā)編程實(shí)戰
    C++并發(fā)編程實(shí)戰
    暫無(wú)報價(jià)
    6.2萬(wàn)+評論 98%好評
    內容簡(jiǎn)介:

      《C++并發(fā)編程實(shí)戰》是一本基于C++11新標準的并發(fā)和多線(xiàn)程編程深度指南。內容包括從std::thread、std::mutex、std::future和std::async等基礎類(lèi)的使用,到內存模型和原子操作、基于鎖和鎖數據結構的構建,再擴展到并行算法、線(xiàn)程管理,最后還介紹了多線(xiàn)程代碼的測試工作。本書(shū)的附錄部分還對C++11新語(yǔ)言特性中與多線(xiàn)程相關(guān)的項目進(jìn)行了簡(jiǎn)要的介紹,并提供了C++11線(xiàn)程庫的完整參考。
      《C++并發(fā)編程實(shí)戰》適合于需要深入了解C++多線(xiàn)程開(kāi)發(fā)的讀者,以及使用C++進(jìn)行各類(lèi)軟件開(kāi)發(fā)的開(kāi)發(fā)人員、測試人員。對于使用第三方線(xiàn)程庫的讀者,也可以從本書(shū)后面的章節中了解到相關(guān)的指引和技巧。同時(shí),本書(shū)還可以作為C++11線(xiàn)程庫的參考工具書(shū)。

    作者簡(jiǎn)介:

      周全,軟件工程師,畢業(yè)于中國科學(xué)技術(shù)大學(xué)信息學(xué)院,現任職于中國人民銀行合肥中心支行科技處。從事.NET開(kāi)發(fā)多年,有較為豐富的系統集成和運維經(jīng)驗,對虛擬化也有較深入的研究??梢酝ㄟ^(guò)email與他聯(lián)系。

      宋真真,網(wǎng)絡(luò )工程師,2008年畢業(yè)于合肥工業(yè)大學(xué)計算機與信息學(xué)院,現任職于中國人民銀行合肥中心支行科技處,參與軟件開(kāi)發(fā)、項目管理等工作,愛(ài)好數據庫、編程等研究??梢酝ㄟ^(guò)email與她聯(lián)系。

      梁娟娟,2010年畢業(yè)于中國科學(xué)技術(shù)大學(xué)信息技術(shù)學(xué)院,現就職于中國人民銀行合肥中心支行。

      許敏,軟件工程師,2005年獲得軟件測試工程師證書(shū)?,F任職于中國人民銀行合肥中心支行科技處,負責項目管理工作??梢酝ㄟ^(guò)Email與她聯(lián)系。

    目錄:第1章 你好,C++并發(fā)世界 1
    1.1 什么是并發(fā) 2
    1.1.1 計算機系統中的并發(fā) 2
    1.1.2 并發(fā)的途徑 3
    1.2 為什么使用并發(fā) 5
    1.2.1 為了劃分關(guān)注點(diǎn)而使用
    并發(fā) 5
    1.2.2 為了性能而使用并發(fā) 6
    1.2.3 什么時(shí)候不使用并發(fā) 7
    1.3 在C++中使用并發(fā)和
    多線(xiàn)程 8
    1.3.1 C++多線(xiàn)程歷程 8
    1.3.2 新標準中的并發(fā)支持 9
    1.3.3 C++線(xiàn)程庫的效率 9
    1.3.4 平臺相關(guān)的工具 10
    1.4 開(kāi)始入門(mén) 11
    1.5 小結 12
    第2章 管理線(xiàn)程 13
    2.1 基本線(xiàn)程管理 13
    2.1.1 啟動(dòng)線(xiàn)程 14
    2.1.2 等待線(xiàn)程完成 16
    2.1.3 在異常環(huán)境下的等待 17
    2.1.4 在后臺運行線(xiàn)程 19
    2.2 傳遞參數給線(xiàn)程函數 20
    2.3 轉移線(xiàn)程的所有權 23
    2.4 在運行時(shí)選擇線(xiàn)程
    數量 26
    2.5 標識線(xiàn)程 28
    2.6 小結 29
    第3章 在線(xiàn)程間共享數據 31
    3.1 線(xiàn)程之間共享數據的
    問(wèn)題 32
    3.1.1 競爭條件 33
    3.1.2 避免有問(wèn)題的競爭
    條件 34
    3.2 用互斥元保護共享
    數據 35
    3.2.1 使用C++中的互斥元 35
    3.2.2 為保護共享數據精心組織
    代碼 36
    3.2.3 發(fā)現接口中固有的競爭
    條件 38
    3.2.4 死鎖:?jiǎn)?wèn)題和解決方案 44
    3.2.5 避免死鎖的進(jìn)一步
    指南 46
    3.2.6 用std::unique_lock靈活
    鎖定 51
    3.2.7 在作用域之間轉移鎖的
    所有權 52
    3.2.8 鎖定在恰當的粒度 54
    3.3 用于共享數據保護的替代工具 56
    3.3.1 在初始化時(shí)保護共享
    數據 56
    3.3.2 保護很少更新的數據
    結構 59
    3.3.3 遞歸鎖 61
    3.4 小結 62
    第4章 同步并發(fā)操作 63
    4.1 等待事件或其他條件 63
    4.1.1 用條件變量等待條件 65
    4.1.2 使用條件變量建立一個(gè)
    線(xiàn)程安全隊列 67
    4.2 使用future等待一次性
    事件 71
    4.2.1 從后臺任務(wù)中返回值 72
    4.2.2 將任務(wù)與future相關(guān)聯(lián) 74
    4.2.3 生成(std::)promise 77
    4.2.4 為future保存異常 79
    4.2.5 等待自多個(gè)線(xiàn)程 80
    4.3 有時(shí)間限制的等待 82
    4.3.1 時(shí)鐘 83
    4.3.2 時(shí)間段 84
    4.3.3 時(shí)間點(diǎn) 85
    4.3.4 接受超時(shí)的函數 86
    4.4 使用操作同步來(lái)簡(jiǎn)化
    代碼 88
    4.4.1 帶有future的函數式
    編程 88
    4.4.2 具有消息傳遞的同步
    操作 92
    4.5 小結 96
    第5章 C++內存模型和原子
    類(lèi)型上操作 97
    5.1 內存模型基礎 98
    5.1.1 對象和內存位置 98
    5.1.2 對象、內存位置以及
    并發(fā) 99
    5.1.3 修改順序 100
    5.2 C++中的原子操作及
    類(lèi)型 100
    5.2.1 標準原子類(lèi)型 101
    5.2.2 std::atomic_flag上的
    操作 103
    5.2.3 基于std::atomic的
    操作 105
    5.2.4 std::atomic上的操作:指針算術(shù)運算 107
    5.2.5 標準原子整型的
    操作 108
    5.2.6 std::atomic<>初級類(lèi)
    模板 109
    5.2.7 原子操作的自由函數 111
    5.3 同步操作和強制
    順序 112
    5.3.1 synchronizes-with
    關(guān)系 114
    5.3.2 happens-before關(guān)系 114
    5.3.3 原子操作的內存
    順序 116
    5.3.4 釋放序列和
    synchronizes-with 133
    5.3.5 屏障 135
    5.3.6 用原子操作排序非原子
    操作 137
    5.4 小結 138
    第6章 設計基于鎖的并發(fā)
    數據結構 140
    6.1 為并發(fā)設計的含義是
    什么 141
    6.2 基于鎖的并發(fā)數據
    結構 142
    6.2.1 使用鎖的線(xiàn)程
    安全棧 142
    6.2.2 使用鎖和條件變量的線(xiàn)程
    安全隊列 145
    6.2.3 使用細粒度鎖和條件變量的線(xiàn)程安全隊列 149
    6.3 設計更復雜的基于鎖的
    數據結構 160
    6.3.1 編寫(xiě)一個(gè)使用鎖的線(xiàn)程
    安全查找表 160
    6.3.2 編寫(xiě)一個(gè)使用鎖的線(xiàn)程
    安全鏈表 165
    6.4 小結 169
    第7章 設計鎖的并發(fā)數據
    結構 170
    7.1 定義和結果 171
    7.1.1 非阻塞數據結構的
    類(lèi)型 171
    7.1.2 鎖數據結構 172
    7.1.3 等待的數據結構 172
    7.1.4 鎖數據結構的優(yōu)點(diǎn)與
    缺點(diǎn) 172
    7.2 鎖數據結構的
    例子 173
    7.2.1 編寫(xiě)不用鎖的線(xiàn)程
    安全棧 174
    7.2.2 停止惱人的泄漏:在鎖數據結構中管理內存 178
    7.2.3 用風(fēng)險指針檢測不能被
    回收的結點(diǎn) 182
    7.2.4 使用引用計數檢測
    結點(diǎn) 189
    7.2.5 將內存模型應用至
    鎖棧 194
    7.2.6 編寫(xiě)不用鎖的線(xiàn)程安全
    隊列 198
    7.3 編寫(xiě)鎖數據結構的
    準則 209
    7.3.1 準則:使用std::memory_order_
    seq_cst作為原型 210
    7.3.2 準則:使用鎖內存回收
    模式 210
    7.3.3 準則:當心ABA問(wèn)題 210
    7.3.4 準則:識別忙于等待的循環(huán)以及輔助其他線(xiàn)程 211
    7.4 小結 211
    第8章 設計并發(fā)代碼 213
    8.1 在線(xiàn)程間劃分工作的
    技術(shù) 214
    8.1.1 處理開(kāi)始前在線(xiàn)程間劃分
    數據 214
    8.1.2 遞歸地劃分數據 215
    8.1.3 以任務(wù)類(lèi)型劃分
    工作 219
    8.2 影響并發(fā)代碼性能的
    因素 222
    8.2.1 有多少個(gè)處理器 222
    8.2.2 數據競爭和乒乓
    緩存 223
    8.2.3 假共享 225
    8.2.4 數據應該多緊密 225
    8.2.5 過(guò)度訂閱和過(guò)多的任務(wù)
    切換 226
    8.3 為多線(xiàn)程性能設計數據
    結構 226
    8.3.1 為復雜操作劃分數組
    元素 227
    8.3.2 其他數據結構中的數據
    訪(fǎng)問(wèn)方式 228
    8.4 為并發(fā)設計時(shí)的額外
    考慮 230
    8.4.1 并行算法中的異常
    安全 230
    8.4.2 可擴展性和阿姆達爾
    定律 237
    8.4.3 用多線(xiàn)程隱藏延遲 238
    8.4.4 用并發(fā)提高響應性 239
    8.5 在實(shí)踐中設計并發(fā)
    代碼 241
    8.5.1 std::for_each的并行
    實(shí)現 241
    8.5.2 std::find的并行實(shí)現 243
    8.5.3 std::partial_sum的并行
    實(shí)現 248
    8.6 總結 256
    第9章 高級線(xiàn)程管理 258
    9.1 線(xiàn)程池 259
    9.1.1 最簡(jiǎn)單的線(xiàn)程池 259
    9.1.2 等待提交給線(xiàn)程池的
    任務(wù) 261
    9.1.3 等待其他任務(wù)的
    任務(wù) 265
    9.1.4 避免工作隊列上的
    競爭 267
    9.1.5 工作竊取 269
    9.2 中斷線(xiàn)程 273
    9.2.1 啟動(dòng)和中斷另一個(gè)
    線(xiàn)程 274
    9.2.2 檢測一個(gè)線(xiàn)程是否被
    中斷 275
    9.2.3 中斷等待條件變量 276
    9.2.4 中斷在std::condition_variable_ any上的等待 279
    9.2.5 中斷其他阻塞調用 281
    9.2.6 處理中斷 281
    9.2.7 在應用退出時(shí)中斷后臺
    任務(wù) 282
    9.3 總結 284
    第10章 多線(xiàn)程應用的測試與
    調試 285
    10.1 并發(fā)相關(guān)錯誤的
    類(lèi)型 285
    10.1.1 不必要的阻塞 286
    10.1.2 競爭條件 286
    10.2 定位并發(fā)相關(guān)的錯誤的
    技巧 288
    10.2.1 審閱代碼以定位潛在的
    錯誤 288
    10.2.2 通過(guò)測試定位并發(fā)相關(guān)的
    錯誤 290
    10.2.3 可測試性設計 291
    10.2.4 多線(xiàn)程測試技術(shù) 292
    10.2.5 構建多線(xiàn)程的測試
    代碼 295
    10.2.6 測試多線(xiàn)程代碼的
    性能 297
    10.3 總結 298
    附錄A 附錄A C++11部分
    語(yǔ)言特性簡(jiǎn)明
    參考 299
    附錄B 并發(fā)類(lèi)庫
    熱門(mén)推薦文章
    相關(guān)優(yōu)評榜
    品類(lèi)齊全,輕松購物 多倉直發(fā),極速配送 正品行貨,精致服務(wù) 天天低價(jià),暢選無(wú)憂(yōu)
    購物指南
    購物流程
    會(huì )員介紹
    生活旅行/團購
    常見(jiàn)問(wèn)題
    大家電
    聯(lián)系客服
    配送方式
    上門(mén)自提
    211限時(shí)達
    配送服務(wù)查詢(xún)
    配送費收取標準
    海外配送
    支付方式
    貨到付款
    在線(xiàn)支付
    分期付款
    郵局匯款
    公司轉賬
    售后服務(wù)
    售后政策
    價(jià)格保護
    退款說(shuō)明
    返修/退換貨
    取消訂單
    特色服務(wù)
    奪寶島
    DIY裝機
    延保服務(wù)
    京東E卡
    京東通信
    京東JD+
    亚洲精品乱码久久久97_国产伦子一区二区三区_久久99精品久久久欧美_天天看片永久av影城网页
  • <em id="pai5d"></em><sup id="pai5d"></sup>
    
    

    <small id="pai5d"><rp id="pai5d"></rp></small>
    <option id="pai5d"></option>

    
    
  • <sup id="pai5d"></sup>
    <em id="pai5d"><label id="pai5d"></label></em>

  • <s id="pai5d"></s>