Threads¶
Was ist das?¶
Threads (Worker, Goroutine, Coroutine, Background-Task) erlauben es, Code parallel zur Hauptlogik laufen zu lassen — zum Beispiel um waehrend einer langen Berechnung weiter auf Eingaben zu reagieren oder mehrere unabhaengige Aufgaben gleichzeitig abzuarbeiten. moo nutzt darunter echte OS-Threads (POSIX pthreads). Jeder Thread bekommt eine Funktion und ein Argument; das Ergebnis kann am Handle abgeholt werden.
Builtins fuer Hintergrund-Ausfuehrung. Threads werden mit starte(callable, arg) gestartet und liefern ein Thread-Handle, dessen Methoden warten() und fertig() verfuegbar sind.
starte / spawn¶
Signatur: starte(funktion, argument) → thread
Zweck: Startet funktion(argument) in einem neuen Thread und liefert ein Handle.
Beispiel (verifiziert, /tmp/v3_thread.moo):
.warten() / .wait()¶
Signatur: thread.warten() → wert
Zweck: Blockiert bis der Thread fertig ist und liefert sein Ergebnis.
Beispiel:
.fertig() / .done()¶
Signatur: thread.fertig() → boolean
Zweck: Prueft ohne zu blockieren, ob der Thread bereits terminiert ist.
Beispiel: