Grokking Concurrency
暫譯: 深入理解併發編程

Bobrov, Kirill

  • 出版商: Manning
  • 出版日期: 2024-02-06
  • 定價: $1,900
  • 售價: 8.8$1,672 (限時優惠至 2025-03-31)
  • 語言: 英文
  • 頁數: 304
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1633439771
  • ISBN-13: 9781633439771
  • 立即出貨

買這商品的人也買了...

商品描述

This easy-to-read, hands-on guide demystifies concurrency concepts like threading, asynchronous programming, and parallel processing in any language.

Perplexed by concurrency? Don't be. This engaging, fully-illustrated beginner's guide gets you writing the kind of high-performance code your apps deserve. Inside, you'll find thorough explanations of concurrency's core concepts--all explained with interesting illustrations, insightful examples, and detailed techniques you can apply to your own projects.

In Grokking Concurrency you will:

 

  • Get up to speed with the core concepts of concurrency, asynchrony, and parallel programming
  • Learn the strengths and weaknesses of different hardware architectures
  • Improve the sequential performance characteristics of your software
  • Solve common problems for concurrent programming
  • Compose patterns into a series of practices for writing scalable systems
  • Write and implement concurrency systems that scale to any size


Discover effective concurrency practices that will help you leverage multiple cores, excel with high loads, handle terabytes of data, and continue working after hardware and software failures. The core concepts in this guide will remain eternally relevant, whether you're building web apps, IoT systems, or handling big data.

Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.

About the technology

Concurrency is an approach to running computer programs efficiently by separating them into tasks that can execute independently. This basic idea makes it possible to accelerate game graphics, train large AI models, rapidly scale web applications, streamline big data processing, and much more. Concurrency can get complicated, so this book gets you started gently with interesting examples, entertaining illustrations, and easy-to-follow Python code.

About the book

Grokking Concurrency is a perfectly paced introduction to the fundamentals of concurrent, parallel, and asynchronous programming. In it, you'll learn the practices you'll need to program multicore processors, GPUs, and other high-performance systems. Author Kirill Bobrov skips the math, jargon, and academic language and concentrates on clear, plain-English explanations.

What's inside

 

  • Writing and running concurrent programs
  • Patterns for performance, scalability, and resilience
  • Choosing the right hardware
  • Asynchronous communication


About the reader

Examples in Python. No prior experience with concurrency or high-performance computing required.

About the author

Kirill Bobrov is a software engineer with a passion for data engineering.

Table of Contents

Part 1 The Octopus Orchestra: Introduction to a Symphony of Concurrency
1 Introducing concurrency
2 Serial and parallel execution
3 How computers work
4 Building blocks of concurrency
5 Interprocess communication
Part 2 the Many Tentacles of Concurrency: Multitasking, Decomposition,
and Synchronization
6 Multitasking
7 Decomposition
8 Solving concurrency problems: Race conditions and synchronization
9 Solving concurrency problems: Deadlocks and starvation
Part 3 Asynchronous Octopuses: a Pizza-making Tale of Concurrency
10 Nonblocking I/O
11 Event-based concurrency
12 Asynchronous communication
13 Writing concurrent applications

商品描述(中文翻譯)

這本易讀的實用指南揭開了多執行緒、非同步程式設計和平行處理等併發概念的神秘面紗,適用於任何程式語言。

對併發感到困惑嗎?別擔心。這本引人入勝、圖文並茂的初學者指南將幫助你編寫出應用程式所需的高效能程式碼。在書中,你將找到對併發核心概念的詳細解釋,所有內容都配有有趣的插圖、深刻的範例和可應用於自己專案的詳細技術。

在《Grokking Concurrency》中,你將:

- 熟悉併發、非同步和平行程式設計的核心概念
- 了解不同硬體架構的優缺點
- 改善軟體的序列性能特徵
- 解決併發程式設計中的常見問題
- 將模式組合成一系列可擴展系統的實踐
- 編寫和實現可擴展到任何規模的併發系統

發現有效的併發實踐,幫助你利用多核心、在高負載下表現出色、處理數TB的數據,並在硬體和軟體故障後繼續運作。本指南中的核心概念將永遠相關,無論你是在構建網頁應用程式、物聯網系統,還是處理大數據。

購買印刷版書籍可獲得Manning Publications提供的免費PDF和ePub格式電子書。

關於技術

併發是一種通過將計算機程式分離為可以獨立執行的任務來高效運行程式的方式。這一基本理念使得加速遊戲圖形、訓練大型AI模型、快速擴展網頁應用程式、簡化大數據處理等成為可能。併發可能會變得複雜,因此本書以有趣的範例、娛樂性的插圖和易於理解的Python程式碼輕鬆引導你入門。

關於本書

《Grokking Concurrency》是對併發、平行和非同步程式設計基本原理的完美介紹。在這本書中,你將學到編程多核心處理器、GPU和其他高效能系統所需的實踐。作者Kirill Bobrov省略了數學、術語和學術語言,專注於清晰、通俗易懂的解釋。

內容概覽

- 編寫和運行併發程式
- 性能、可擴展性和韌性的模式
- 選擇合適的硬體
- 非同步通信

關於讀者

範例使用Python。不需要具備併發或高效能計算的先前經驗。

關於作者

Kirill Bobrov是一位對數據工程充滿熱情的軟體工程師。

目錄

第一部分 章魚樂團:併發交響曲的介紹
1 介紹併發
2 串行和並行執行
3 計算機如何運作
4 併發的基本構件
5 進程間通信
第二部分 併發的多隻觸手:多任務、分解和同步
6 多任務
7 分解
8 解決併發問題:競爭條件和同步
9 解決併發問題:死鎖和饑餓
第三部分 非同步章魚:一個關於併發的披薩製作故事
10 非阻塞I/O
11 基於事件的併發
12 非同步通信
13 編寫併發應用程式

作者簡介

Kirill Bobrov is a software engineer. His experience includes the development and design of high-load web applications. He now focuses on data engineering practices for companies around the world.

作者簡介(中文翻譯)

基里爾·博布羅夫是一位軟體工程師。他的經驗包括高負載網路應用程式的開發和設計。現在,他專注於全球各地公司的資料工程實踐。