2016-07-06 10 views
0

Я хочу получить высокую эффективность Fiber при переключении контекста и получить процессорное время во время ввода-вывода, но когда рабочей нагрузки достаточно для подачи большего количества процессоров, я бы хотел получить от того, что происходит параллельно.Могу ли я отправлять волокна через threadPool в D

Я прочитал эту большую статью о Нити и волокна https://octarineparrot.com/article/view/getting-more-fiber-in-your-diet

И читать этот вопрос, касающийся сравнения между волокнами и нитями. Fibers over Threads in D

Но я хочу рассказать о хорошем способе смешать их с агностиком и изящно. Конечно, образцы кода приветствуются.

+1

В чем ваш вопрос? «Как смешивать волокна и нити» не является конкретным вопросом. –

ответ

1

Вы можете.

Цитата из документации:

Пожалуйста, обратите внимание, что не существует никаких требований, что волокно быть связаны с одной конкретной теме. Скорее, волокна могут свободно проходить между нитями, пока они не выполняются.

Очевидно, вы можете использовать пул нитей для запуска ваших волокон.

+0

IIRC это нарушено на большинстве компиляторов. –

+0

Я вполне уверен, что «сейчас не выполняется» означает «прекращено», а не «приостановлено». Это должно работать afaik. –