Softwareentwicklung: Concurrency in Go

Seite 4: Data Races sind vermeidbar

Inhaltsverzeichnis

Diese kleinen Beispiele haben einen Einblick in die Verwendung von Concurrency in Go gegeben. Die Grundlagen des CSP-Models sind dabei einfach, jedoch gibt es genügend Fallstricke. Besonders bei Server-Anwendungen kann es bei hoher Last zu parallelen Anfragen kommen. Hier ist es wichtig, durch Tests zu prüfen, ob es dadurch zu Data Races kommen kann. Dafür bietet Go mit den integrierten Tests und dem Race Detector gute Methoden, diese Bugs schon während der Entwicklung zu finden. Für die Behebung der Data Races können Pakete aus der Standardbibliothek oder Patterns mit Channels zum Einsatz kommen. Die optimale Lösung ist dabei vom jeweiligen Fall abhängig. Zu den jeweiligen angesprochenen Themen gibt es auf der Webseite von Go weitere spannende und hilfreiche Beiträge.

Andreas Schröpfer
ist seit über zehn Jahren in der IT-Beratung tätig und seit 2015 begeisterter Gopher. Er ist Contributor bei mehreren Open-Source-Projekten; darunter Go Buffalo. Er gibt Workshops zu Go, ist Mentor bei excercism.io, unterrichtet auch auf Udemy und ist Buchautor zu Go.

(map)