Skip to Main Content
Aprender Go, 2ª Edición
book

Aprender Go, 2ª Edición

by Jon Bodner
August 2024
Intermediate to advanced content levelIntermediate to advanced
494 pages
13h 30m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from Aprender Go, 2ª Edición

Capítulo 12. Concurrencia en Go

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La concurrencia es el término informático para dividir un único proceso en componentes independientes y especificar cómo estos componentes comparten datos de forma segura. La mayoría de los lenguajes proporcionan concurrencia mediante una biblioteca que utiliza hilos a nivel del sistema operativo que comparten datos intentando adquirir bloqueos. Go es diferente. Su principal modelo de concurrencia, posiblemente la característica más famosa de Go, se basa en Procesos Secuenciales Comunicados (PSC). Este estilo de concurrencia se describió en 1978 en un artículo de Tony Hoare, el inventor del algoritmo Quicksort. Los patrones implementados con CSP son tan potentes como los estándar, pero mucho más fáciles de entender.

En este capítulo, vas a repasar rápidamente las características que constituyen la columna vertebral de la concurrencia en Go: goroutines, canales y la palabra clave select. A continuación, verás algunos patrones comunes de concurrencia en Go y conocerás las situaciones en las que las técnicas de bajo nivel son un mejor enfoque.

Cuándo utilizar la concurrencia

Empecemos con una palabra de precaución. Asegúrate de que tu programa se beneficia de la concurrencia. Cuando los nuevos desarrolladores Go empiezan a experimentar con la concurrencia, suelen pasar por una serie de etapas:

  1. Esto es increíble; ¡voy a ponerlo todo ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Herramientas DevOps para desarrolladores Java

Herramientas DevOps para desarrolladores Java

Stephen Chin, Melissa McKay, Ixchel Ruiz, Baruch Sadogursky
Q# Pocket Guide

Q# Pocket Guide

Mariia Mykhailova

Publisher Resources

ISBN: 9781098180157Supplemental Content