Apéndice A. Apéndice

Cuando emprendas el viaje de escribir código concurrente, necesitarás herramientas para escribir tu programa y analizar su corrección, así como algunas indicaciones útiles que te ayuden a comprender lo que ocurre en tus programas. Por suerte para ti, el ecosistema Go cuenta con un rico conjunto de herramientas, tanto del equipo Go como de la comunidad. Este apéndice hablará de algunas de estas herramientas y de cómo pueden ayudarte antes, durante y después del desarrollo. Dado que este libro se centra en la concurrencia, voy a limitar la conversación sólo a temas que te ayuden a escribir o analizar código concurrente. También veremos brevemente qué ocurre cuando las goroutines entran en pánico. No ocurre a menudo, pero la salida puede ser un poco confusa la primera vez que la veas.

Anatomía de un error de goroutine

Nos pasa a todos: tarde o temprano, tu programa entrará en pánico. Si tienes suerte, ni los humanos ni los ordenadores resultarán dañados en el proceso, y lo peor que puede pasar es que te encuentres con la parte mala de un rastreo de pila.

Antes de Go 1.6, cuando una goroutina entraba en pánico, el tiempo de ejecución imprimía rastros de pila de todas las goroutinas que se estuvieran ejecutando en ese momento. A veces esto dificultaba (o al menos consumía mucho tiempo) determinar qué había ocurrido. En el momento de escribir esto, Go 1.6 y posteriores simplifican mucho las cosas imprimiendo sólo el rastro de pila de la goroutina que entra en pánico. ...

Get Concurrencia en Go now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.