Mastering Concurrency in Go

Nathan Kozyra

  • 出版商: Packt Publishing
  • 出版日期: 2014-07-19
  • 售價: $1,890
  • 貴賓價: 9.5$1,796
  • 語言: 英文
  • 頁數: 301
  • 裝訂: Paperback
  • ISBN: 1783983485
  • ISBN-13: 9781783983483
  • 相關分類: Go 程式語言
  • 下單後立即進貨 (約3~4週)

商品描述

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中實現並發的核心語法和語言特性。
- 理解何時何地使用並發來保持數據一致性,使應用程序非阻塞、響應迅速和可靠。
- 實用方法來利用應用程序脚手架設計高度可擴展的程序,深入了解Go例程和通道。

詳細內容:
本書將帶領您了解並發的歷史,Go如何利用並發,Go與其他語言的區別,以及Go並發核心的特性和結構。在整個過程中,本書將提供具體可用的示例,並詳細描述所使用的方法。最終,您將能夠設計一個安全、數據一致、高性能的並發應用程序。

本書的重點是向您展示如何使用Go來編寫高性能、健壯的並發程序,利用Go獨特的多線程形式,使用goroutine在通道上進行通信和同步。本書適用於對快速、非阻塞和節省資源的系統應用程序感興趣的任何好奇的開發人員或系統管理員,是一個寶貴的資源,幫助您了解Go強大的並發特性。

本書將教您:
- 在Go中創建goroutine作為並發的基本組件。
- 擴展goroutine以包括通道,以實現通信。
- 設計並發模式,應用於示例和未來的應用程序。
- 探索確保數據一致性在並發和多核Go應用程序中保持至關重要的方法。
- 調整性能,充分利用現有硬件,使應用程序保持在資源閾值以下。
- 利用高級並發模式和最佳實踐,保持低級,同時不影響Go本身的簡潔性。
- 在Go中構建多個服務器,充分利用並發功能。

方法:
本書以實用的方式介紹了一切您需要了解的Go基礎知識,並隨著示例和主題的複雜性逐漸提供更多細節。本書使用輕鬆、對話式的風格,充滿了實際代碼和歷史趣聞,以及可用和可擴展的示例應用程序。

本書的讀者:
本書適用於具有Go和/或並發編程經驗的系統開發人員和程序員,他們希望通過利用單核、多核或分佈式並發來構建可擴展的高性能應用程序。