Mastering Concurrency in Go
暫譯: 精通 Go 的併發編程

Nathan Kozyra

  • 出版商: Packt Publishing
  • 出版日期: 2014-07-19
  • 售價: $2,080
  • 貴賓價: 9.5$1,976
  • 語言: 英文
  • 頁數: 301
  • 裝訂: Paperback
  • ISBN: 1783983485
  • ISBN-13: 9781783983483
  • 相關分類: Go 程式語言程式語言
  • 海外代購書籍(需單獨結帳)

商品描述

Discover and harness Go's powerful concurrency features to develop and build fast, scalable network systems

Overview

  • Explore the core syntaxes and language features that enable concurrency in Go
  • Understand when and where to use concurrency to keep data consistent and applications non-blocking, responsive, and reliable
  • A practical approach to utilize application scaffolding to design highly-scalable programs that are deeply rooted in go routines and channels

In Detail

This book will take you through the history of concurrency, how Go utilizes it, how Go differs from other languages, and the features and structures of Go's concurrency core. Each step of the way, the book will present real, usable examples with detailed descriptions of the methodologies used. By the end, you will feel comfortable designing a safe, data-consistent, high-performance concurrent application in Go.

The focus of this book is on showing you how Go can be used to program high-performance, robust concurrent programs with Go's unique form of multithreading, which employs goroutines that communicate and synchronize across channels. Designed for any curious developer or systems administrator with an interest in fast, non-blocking, and resource-thrifty systems applications, this book is an invaluable resource to help you understand Go's powerful concurrency focus.

What you will learn from this book

  • Create goroutines as the building blocks of concurrency in Go
  • Extend the goroutines to include channels to open up communication
  • Design concurrent patterns to apply toward our examples and future applications
  • Explore methods to ensure data consistency remains paramount in concurrent and multi-core Go applications
  • Tune performance to squeeze the most out of existing hardware to keep your applications below resource thresholds
  • Utilize advanced concurrency patterns and best practices to stay low-level without compromising the simplicity of Go itself
  • Build several servers in Go that strongly utilize concurrency features

Approach

A practical approach covering everything you need to know to get up and running with Go, starting with the basics and imparting increasingly more detail as the examples and topics become more complicated. The book utilizes a casual, conversational style, rife with actual code and historical anecdotes for perspective, as well as usable and extensible example applications.

Who this book is written for

This book is intended for systems developers and programmers with some experience in either Go and/or concurrent programming who wish to become fluent in building high-performance applications that scale by leveraging single-core, multicore, or distributed concurrency.

商品描述(中文翻譯)

發現並利用 Go 的強大併發特性來開發和構建快速、可擴展的網絡系統

概述
- 探索 Go 中啟用併發的核心語法和語言特性
- 理解何時以及在哪裡使用併發,以保持數據一致性,並使應用程序非阻塞、響應迅速且可靠
- 實用的方法利用應用程序框架設計高度可擴展的程序,深度根植於 goroutines 和通道

詳細內容
本書將帶您了解併發的歷史、Go 如何利用併發、Go 與其他語言的不同之處,以及 Go 併發核心的特性和結構。在每一步中,本書將提供真實可用的範例,並詳細描述所使用的方法論。到最後,您將能夠自信地設計一個安全、數據一致且高效能的 Go 併發應用程序。

本書的重點在於展示如何使用 Go 編寫高效能、穩健的併發程序,利用 Go 獨特的多線程形式,通過通道進行通信和同步的 goroutines。本書適合任何對快速、非阻塞和資源節省的系統應用感興趣的開發者或系統管理員,是幫助您理解 Go 強大併發特性的寶貴資源。

您將從本書學到什麼
- 創建 goroutines 作為 Go 中併發的基礎構建塊
- 擴展 goroutines 以包含通道以開啟通信
- 設計併發模式以應用於我們的範例和未來的應用程序
- 探索確保數據一致性在併發和多核心 Go 應用程序中保持至關重要的方法
- 調整性能以充分利用現有硬體,保持您的應用程序在資源閾值以下
- 利用先進的併發模式和最佳實踐,保持低層次而不妨礙 Go 本身的簡單性
- 在 Go 中構建幾個強烈利用併發特性的伺服器

方法
一種實用的方法,涵蓋您需要了解的所有內容,以便開始使用 Go,從基礎開始,隨著範例和主題變得更加複雜而逐漸提供更多細節。本書採用輕鬆的對話風格,充滿實際代碼和歷史轶事以提供視角,以及可用和可擴展的示例應用程序。

本書的讀者對象
本書旨在為具有一定 Go 和/或併發編程經驗的系統開發者和程序員而寫,幫助他們流利地構建通過利用單核心、多核心或分佈式併發來擴展的高效能應用程序。