2016-07-06 40 views
0
senden

Was ich will, ist die hohe Effizienz des Fibers auf Kontextwechsel zu erhalten und CPU-Zeit während I/O, aber wenn die Arbeitslast genug ist, um mehr CPUs zu füttern möchte ich die gewinnen Leistung von der Tatsache, Dinge parallel zu tun. bezüglich des Vergleichs zwischen Fasern und FädenKann ich Fibers über einen threadPool in D

Ich las diesen großen Artikel über Themen und Fasern https://octarineparrot.com/article/view/getting-more-fiber-in-your-diet

Und diese Frage lesen. Fibers over Threads in D

Aber ich möchte jedes Licht über eine gute Möglichkeit bekommen, sie agnostisch und anmutig zu mischen. Natürlich sind Codebeispiele willkommen.

+1

Was genau ist Ihre Frage? "Wie Fasern und Fäden gemischt werden" ist keine spezielle Frage. –

Antwort

1

Sie können.

Zitat aus der Dokumentation:

Bitte beachten Sie, dass es nicht erforderlich ist, dass eine Faser zu einem bestimmten Thread gebunden. Stattdessen können Fasern frei zwischen Threads weitergegeben werden, solange sie gerade nicht ausgeführt werden.

Offensichtlich können Sie Pool der Threads verwenden, um Ihre Fasern zu betreiben.

+0

IIRC Dies ist bei den meisten Compilern defekt. –

+0

Ich bin mir ziemlich sicher, dass "keine laufende Ausführung" bedeutet "sind beendet", nicht "sind ausgesetzt". Das sollte afaik funktionieren. –