Go-Konkurrenz in C: Wie nah kommt man mit pthreads an Goroutines heran?

Go-Flavored Concurrency in C

Go-Konkurrenz in C: Wie nah kommt man mit pthreads an Goroutines heran?

Der Autor untersucht, wie sich Go's Konkurrenzmodell mit POSIX-Threads in C nachbilden lässt. Am Beispiel von Solod, einer Go-Teilmenge, die nach C übersetzt, zeigt er die Umsetzung von Mutex, Cond, Atomics, Thread-Pool und Channels. Er vergleicht die Leistung mit Go und diskutiert die Grenzen: OS-Threads sind teurer als Goroutines, aber ein Worker-Pool kann die Kosten senken. Der Beitrag bietet Einblicke in die Design-Entscheidungen und die Kompromisse, die man eingehen muss.

Es könnte wie `go work(&acc)` aussehen, aber das ist nur die Oberfläche: `conc.Go` startet einen echten OS-Thread, keine Goroutine.

Mehr von diesem Tag

2026-07-13