You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Для Future обслуживающих ввод-вывод или производящих большое количество операций без смены контекста, следует добавить методы запуска на потоках (особые потоки планировщика или тредпул дотнета), которые не будут блокировать потоки планировщика и не будут мешать выполнению асинхронных Future.
Альтернативным, более сложным но более казуальным и красивым вариантом, будет автоматически переводить Future выполняющую долгую операцию на выделенный поток. Однако это будет плохо работать с планировщиками с конечным числом потоков, т.к. они должны будут неявно увеличивать свои потоки не своими потоками.
The text was updated successfully, but these errors were encountered:
Это желание было продиктовано Rust планировщиками Future. В отличие от dotnet у них нет какого-то основного пула потоков, к которому можно привязать блокирующую операцию, поэтому появляется естественное желание использовать планировщик Future для запуска синхронной работы в контексте Future.
Вероятно, планировщики Future не стоит об этом беспокоиться (по крайней мере в обязательном порядке). Он все еще имеет право определять долго блокирующие Future, и снижать их негативное влияние, но не более.
В случае необходимости, пользователю следует воспользоваться тредпулом дотнет или тредпулом того исполнителя Future, которым он пользуется. Этот вопрос не должен стоять перед Core API, но Core API следует сделать это решение возможным, если какой-то планировщик действительно может обслуживать эту ситуацию.
Для Future обслуживающих ввод-вывод или производящих большое количество операций без смены контекста, следует добавить методы запуска на потоках (особые потоки планировщика или тредпул дотнета), которые не будут блокировать потоки планировщика и не будут мешать выполнению асинхронных Future.
Альтернативным, более сложным но более казуальным и красивым вариантом, будет автоматически переводить Future выполняющую долгую операцию на выделенный поток. Однако это будет плохо работать с планировщиками с конечным числом потоков, т.к. они должны будут неявно увеличивать свои потоки не своими потоками.
The text was updated successfully, but these errors were encountered: