Mastering Concurrency in Go

Editorial Reviews

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.

Table of Contents

Chapter 1. An Introduction to Concurrency in Go
Chapter 2. Understanding the Concurrency Model
Chapter 3. Developing a Concurrent Strategy
Chapter 4. Data Integrity in an Application
Chapter 5. Locks, Blocks, and Better Channels
Chapter 6. C10K – A Non-blocking Web Server in Go
Chapter 7. Performance and Scalability
Chapter 8. Concurrent Application Architecture
Chapter 9. Logging and Testing Concurrency in Go
Chapter 10. Advanced Concurrency and Best Practices

Book Details

  • Author:
  • Pages: 301 pages
  • Edition: 1
  • Publication Date: 2014-07-25
  • Publisher:
  • Language: English
  • ISBN-10: 1783983485
  • ISBN-13: 9781783983483

Book Preview

Click to Look Inside This eBook: Browse Sample Pages

PDF eBook Free Download

Note: There is a file embedded within this post, please visit this post to download the file.

The post Mastering Concurrency in Go appeared first on Fox eBook.

Read Source: Mastering Concurrency in Go»

Leave a Reply

Your email address will not be published.