# Ep. 5: Efficient Concurrency in Go: Managing GoRoutines and Load Shedding

DevFeed: [Ep. 5: Efficient Concurrency in Go: Managing GoRoutines and Load Shedding](<https://devfeed.tech/articles/ep-5-efficient-concurrency-in-go-managing-goroutines-and-load-shedding-22242.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2024/06/efficient-concurrency-in-go-managing-goroutines-and-load-shedding-ep-5.html>)

Published: 2024-06-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [go](<https://devfeed.tech/tags/go.md>), [goroutines](<https://devfeed.tech/tags/goroutines.md>), [http](<https://devfeed.tech/tags/http.md>), [http-server](<https://devfeed.tech/tags/http-server.md>), [kubernetes-clusters](<https://devfeed.tech/tags/kubernetes-clusters.md>), [load](<https://devfeed.tech/tags/load.md>), [managing-goroutines](<https://devfeed.tech/tags/managing-goroutines.md>), [networking](<https://devfeed.tech/tags/networking.md>), [programming](<https://devfeed.tech/tags/programming.md>), [server](<https://devfeed.tech/tags/server.md>)

## AI overview

This video tutorial explains how to manage goroutines in Go using parent-child relationships, clean shutdown APIs, and load shedding. It focuses on preventing orphaned goroutines, protecting data consistency during shutdowns, and gracefully handling HTTP server traffic.

## Source excerpt

Introduction: In this installment, Bill delves into the concept of load shedding in Go, explaining its importance in managing GoRoutines and ensuring clean shutdowns. How to manage GoRoutines using a parent-child relationship model to prevent orphan GoRoutines. The role of load shedding in maintaining clean and orderly shutdowns, particularly using the HTTP package in Go. Strategies for implementing GoRoutines in Go to handle concurrent tasks efficiently without risking data corruption during shutdowns.