Übersicht über Fibers
  (PHP 8 >= 8.1.0)
  
   Fibers stellen unterbrechbare Funktionen dar, die den gesamten Aufrufstapel
   (Call-Stack) umfassen. Sie können an jeder Stelle des Aufrufstapels
   unterbrochen werden, wobei die Ausführung innerhalb der Fiber solange
   unterbrochen wird, bis die Fiber zu einem späteren Zeitpunkt fortgesetzt
   wird.
  
  
   Fibers halten den gesamten Ausführungsstapel an, sodass der direkte
   Aufrufer der Funktion nicht ändern muss, wie er die Funktion aufruft.
  
  
   Mit Fiber::suspend() kann die Ausführung an jeder
   Stelle im Aufrufstapel unterbrochen werden (d. h. der Aufruf von
   Fiber::suspend() kann in einer tief verschachtelten
   Funktion liegen oder auch gar nicht existieren).
  
  
   Im Gegensatz zu einem Generator, der keinen Stapel
   hat, hat jede Fiber ihren eigenen Aufrufstapel,
   sodass sie innerhalb tief verschachtelter Funktionsaufrufe unterbrochen
   werden kann. Im Gegensatz zu einer Funktion, die yield verwendet und eine
   Generator-Instanz zurückgeben muss, muss eine
   Funktion, die einen Unterbrechungspunkt deklariert (d. h.
   Fiber::suspend() aufruft), ihren Rückgabetyp nicht
   ändern.
  
  
   Fibers können beim Aufruf einer beliebigen Funktion unterbrochen werden.
   Dies gilt auch für Funktionen, die innerhalb der PHP-VM aufgerufen werden,
   z. B. Funktionen, die an array_map() übergeben werden
   oder Methoden eines Iterator-Objekts, die von
   foreach aufgerufen werden.
  
  
   Sobald die Ausführung einer Fiber unterbrochen wurde, kann sie wieder
   aufgenommen werden, indem ein beliebiger Wert an
   Fiber::resume() übergeben wird oder indem
   Fiber::throw() verwendet wird, um eine Exception an
   die Fiber zu senden. Bei der Wiederaufnahme wird von
   Fiber::suspend() ein Wert zurückgegeben (oder es
   wird eine Exception ausgelöst).
  
  Hinweis: 
   
    Vor PHP 8.4.0 war es nicht erlaubt, Fibers während der Ausführung eines
    Objekt-Destruktors zu
    schalten.
   
  
  
   Beispiel #1 Grundlegende Verwendung
   
    <?php
$fiber = new Fiber(function (): void {
   $value = Fiber::suspend('fiber');
   echo "Der Wert für die Wiederaufnahme der Fiber: ", $value, PHP_EOL;
});
$value = $fiber->start();
echo "Der Wert vom Unterbrechen der Fiber: ", $value, PHP_EOL;
$fiber->resume('test');
?>
    
   Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
    
Der Wert vom Unterbrechen der Fiber: fiber
Der Wert für die Wiederaufnahme der Fiber: test