Wie Go Parallelität besser handhabt als herkömmliche Threading-Modelle
In der modernen Softwareentwicklung ist die Entwicklung von Anwendungen, die mehrere Aufgaben gleichzeitig ausführen können, kein Luxus mehr, sondern eine Grundvoraussetzung. Von Webservern mit hohem Durchsatz bis hin zu Echtzeit-Streaming-Diensten ist die Parallelität das Herzstück der Leistung.
Traditionelle Programmiersprachen wie C++, Java und Python verließen sich jahrzehntelang auf die nativen Threading-Modelle des Betriebssystems, um gleichzeitige Aufgaben zu bewältigen. Als Google jedoch Ende der 2000er Jahre Go (Golang) entwickelte, schlugen sie einen völlig anderen Weg ein. Anstatt rohe Betriebssystem-Threads offenzulegen, führte Go Goroutinen und einen speziellen M:N-Scheduler ein.
Go
Golang
Concurrency
Goroutines
M:N Scheduler
Channels
Software Architecture