Есть ли в.net волоконно-оптический интерфейс?
Из большего любопытства, чем что-либо другое, я искал набор классов C#/.NET для поддержки волокон / сопрограмм ( версия win32), и мне не повезло.
Кто-нибудь знает такого зверя?
3 ответа
Вы видели это:
Заголовок "Внедрение сопрограмм для.NET путем упаковки API неуправляемого волокна"
в выпуске журнала MSDN за сентябрь 2003 года
Нет. В Framework нет Fibre API. Я подозреваю, что это связано с тем, что их использование дает мало преимуществ - даже на странице API-интерфейса волокна (нативной) упоминается
В целом, волокна не дают преимуществ по сравнению с хорошо разработанным многопоточным приложением.
.NET значительно упрощает разработку "хорошо спроектированного" многопоточного приложения, так что я подозреваю, что для оптоволоконного API мало пользы.
Если я правильно помню, в бета-версии.NET 2 была одна, но она была отброшена. Эрик Липперт написал о волокнах и продолжениях и сказал, что они выбрали наименьшее необходимое ( ссылка).
Есть способы использовать итераторы и yield для создания системы сопрограмм, см. Эту ссылку. И еще один от Джо Даффи.