• Complain

Cox-Buday - Concurrency in Go: tools and techniques for developers

Here you can read online Cox-Buday - Concurrency in Go: tools and techniques for developers full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Beijing [China];Sebastpol;CA, year: 2017, publisher: OReilly Media, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Cox-Buday Concurrency in Go: tools and techniques for developers
  • Book:
    Concurrency in Go: tools and techniques for developers
  • Author:
  • Publisher:
    OReilly Media
  • Genre:
  • Year:
    2017
  • City:
    Beijing [China];Sebastpol;CA
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Concurrency in Go: tools and techniques for developers: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Concurrency in Go: tools and techniques for developers" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If youre a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems. Author Katherine Cox-Buday takes you step-by-step through the process. Youll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size--Back cover.;An introduction to concurrency -- Modeling your code: communicating sequential processes -- Gos concurrency building blocks -- Concurrency patterns in Go -- Concurrency at scale -- Goroutines and the Go runtime.

Cox-Buday: author's other books


Who wrote Concurrency in Go: tools and techniques for developers? Find out the surname, the name of the author of the book and a list of all author's works by series.

Concurrency in Go: tools and techniques for developers — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Concurrency in Go: tools and techniques for developers" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Concurrency in Go

by Katherine Cox-Buday

Copyright 2017 Katherine Cox-Buday. All rights reserved.

Printed in the United States of America.

Published by OReilly Media, Inc. , 1005 Gravenstein Highway North, Sebastopol, CA 95472.

OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com/safari). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com .

  • Editor: Dawn Schanafelt
  • Production Editor: Nicholas Adams
  • Copyeditor: Kim Cofer
  • Proofreader: Sonia Saruba
  • Indexer: Judy McConville
  • Interior Designer: David Futato
  • Cover Designer: Karen Montgomery
  • Illustrator: Rebecca Demarest
  • August 2017: First Edition
Revision History for the First Edition
  • 2017-07-18: First Release

See http://oreilly.com/catalog/errata.csp?isbn=9781491941195 for release details.

The OReilly logo is a registered trademark of OReilly Media, Inc. Concurrency in Go, the cover image, and related trade dress are trademarks of OReilly Media, Inc.

While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.

978-1-491-94119-5

[LSI]

For L. and N. whose sacrifice made this book possible. Of everything inmy life, you are the best. I love you.

Preface

Hey, welcome to Concurrency in Go! Im delighted that youve picked up this book and excited to join you in exploring the topic of concurrency in Go over the next six chapters!

Go is a wonderful language. When it was first announced and birthed into the world, I remember exploring it with great interest: it was terse, compiled incredibly fast, performed well, supported duck typing, andto my delightI found working with its concurrency primitives to be intuitive. The first time I used the go keyword to create a goroutine (something well cover, I promise!) I got this silly grin on my face. I had worked with concurrency in several languages, but I had never worked in a language that made concurrency so easy (which is not to say they dont exist; I just hadnt used any). I had found my way to Go.

Over the years I moved from writing personal scripts in Go, to personal projects, until I found myself working on a many-hundreds-of-thousands-of-lines project professionally. Along the way the community was growing with the language, and we were collectively discovering best practices for working with concurrency in Go. A few people gave talks on patterns they had discovered. But there still werent many comprehensive guides on how to wield concurrency in Go in the community.

It was with this in mind that I set out to write this book. I wanted the community to have access to high-quality and comprehensive information about concurrency in Go: how to use it, best practices and patterns for incorporating it into your systems, and how it all works under the covers. I have done my best to strike a balance between these concerns.

I hope this book proves useful!

Who Should Read This Book

This book is meant for developers who have some experience with Go; I make no attempt to explain the basic syntax of the language. Knowledge of how concurrency is presented in other languages is useful, but not necessary.

By the end of this book we will have discussed the entire stack of Go concurrency concerns: common concurrency pitfalls, motivation behind the design of Gos concurrency, the basic syntax of Gos concurrency primitives, common concurrency patterns, patterns of patterns, and various tooling that will help you along the way.

Because of the breadth of topics well cover, this book will be useful to various cross-sections of people. The next section will help you navigate this book depending on what needs you have.

Navigating This Book

When I read technical books, I usually hop around to the areas that pique my interest. Or, if Im trying to ramp up on a new technology for work, I frantically skim for the bits that are immediately relevant to my work. Whatever your use case is, heres a roadmap for the book with the hopes that it help guide you to where you need to be!

This chapter will give you a broad historical perspective on why concurrency is an important concept, and also discuss some of the fundamental problems that make concurrency difficult to get correct. It also briefly touches on how Go helps ease some of this burden.

If you have a working knowledge of concurrency or just want to get to the technical aspects of how to use Gos concurrency primitives, its safe to skip this chapter .

This chapter deals with some of the motivational factors that contributed to Gos design. This will help give you some context for conversations with others in the Go community and help to frame your understanding of why things work the way they do in the language.

Here well start to dig into the syntax of Gos concurrency primitives. Well also cover the sync package, which is responsible for handling Gos memory access synchronization. If you havent used concurrency within Go before and are looking to hop right in, this is the place to start.

Interspersed with the basics of writing concurrent code in Go are comparisons of concepts to other languages and concurrency models. Strictly speaking, its not necessary to understand these things, but these concepts help you to achieve a complete understanding on concurrency in Go.

In this chapter, we begin to look at how Gos concurrency primitives are composed together to form useful patterns. These patterns will both help us solve problems and avoid issues that can come up when combining concurrency primitives.

If youve already been writing some concurrent code in Go, this chapter should still prove useful.

In this chapter, we take the patterns we have learned and compose these into larger patterns commonly employed in larger programs, services, and distributed systems.

This chapter describes how the Go runtime handles scheduling goroutines. This is for those of you who want to understand the internals of Gos runtime.

The appendix simply enumerates various tools and commands that can help make writing and debugging concurrent programs easier.

Online Resources

Go has a very active and passionate community! For those newer to Go, take heart, it will be easy to find friendly, helpful people to guide you along on your path to Go. Here are a few of my favorite community-oriented resources for reading, getting help, and interacting with your fellow gophers:

  • https://golang.org/

  • https://golang.org/play

  • https://go.googlesource.com/go

  • https://groups.google.com/group/golang-nuts

  • https://github.com/golang/go/wiki

Conventions Used in This Book

The following typographical conventions are used in this book:

Italic

Indicates new terms, URLs, email addresses, filenames, and file extensions.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Concurrency in Go: tools and techniques for developers»

Look at similar books to Concurrency in Go: tools and techniques for developers. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Concurrency in Go: tools and techniques for developers»

Discussion, reviews of the book Concurrency in Go: tools and techniques for developers and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.