class Fiber::Scheduler

Dies ist keine existierende Klasse, sondern die Dokumentation der Schnittstelle, die ein Scheduler-Objekt erfüllen muss, um als Argument für Fiber.scheduler verwendet zu werden und nicht-blockierende Faser zu verwalten. Siehe auch den Abschnitt „Nicht-blockierende Fasern“ in der Dokumentation der Fiber-Klasse für Erklärungen einiger Konzepte.

Das Verhalten und die Verwendung eines Schedulers werden wie folgt erwartet:

Auf diese Weise wird eine gleichzeitige Ausführung transparent für den Code jeder einzelnen Faser erreicht.

Scheduler-Implementierungen werden von Gems bereitgestellt, wie z. B. Async.

Hook-Methoden sind:

Sofern nicht anders angegeben, sind die Hook-Implementierungen obligatorisch: Wenn sie nicht implementiert sind, schlagen die Methoden, die versuchen, den Hook aufzurufen, fehl. Zur Gewährleistung der Abwärtskompatibilität werden Hooks in Zukunft optional sein (wenn sie nicht implementiert sind, da der Scheduler für eine ältere Ruby-Version erstellt wurde, wird der Code, der diesen Hook benötigt, nicht fehlschlagen und sich einfach blockierend verhalten).

Es wird außerdem dringend empfohlen, dass der Scheduler die Methode fiber implementiert, die von Fiber.schedule delegiert wird.

Ein beispielhaftes *Spielzeug*-Implementierung des Schedulers finden Sie in Rubys Code unter test/fiber/scheduler.rb.