Size: a a a

2020 December 25

DF

Dollar Føølish in Rust Async
Ну у тебя треды в рантайме лимитированный ресурс
источник

a

antuan in Rust Async
допустим. но всё равно непонятно. основной таск, который лочился (со слипом), работал исправно. таски, в которых были только асинхронные операции вставали колом.
источник

DF

Dollar Føølish in Rust Async
Так они не защедулились просто
источник

DF

Dollar Føølish in Rust Async
По моему все логично
источник

a

antuan in Rust Async
Все равно неясно. В местах с эвейтом должен был перекючаться контекст.
источник

a

antuan in Rust Async
аааа, я понял. после send.await не происходит переключения контекста, т.к. отправка не залочилась: в канале ещё есть место
источник

MB

Mikail Bagishov in Rust Async
Ну, получается что на плейграунде отдается одно ядро
источник

a

antuan in Rust Async
если поменять размер буфера на 1, то всё ок
источник

MB

Mikail Bagishov in Rust Async
Поэтому футуры исполняются по очереди
источник

DF

Dollar Føølish in Rust Async
Mikail Bagishov
Ну, получается что на плейграунде отдается одно ядро
+++
источник

MB

Mikail Bagishov in Rust Async
Поэтому да, пока таска-сендер не переполнит канал, таска-ресивер может и не зашедулиться
источник

MB

Mikail Bagishov in Rust Async
Ну и выход тут конечно spawn_blocking
источник

MB

Mikail Bagishov in Rust Async
Футуры не должны блокироваться
источник

DF

Dollar Føølish in Rust Async
Там отдельный экзекутор для таких тредов?
источник

DF

Dollar Føølish in Rust Async
Которые через спавн
источник

DF

Dollar Føølish in Rust Async
Как оно устроено ?
источник

a

antuan in Rust Async
да, тут косяк. мне просто было интересно, почему так происходит. теперь всё прояснилось :)
источник

MB

Mikail Bagishov in Rust Async
Для spawn_blocking отдельный тредпул
источник

DF

Dollar Føølish in Rust Async
Ага , понятно
источник
2020 December 26

D

Denis in Rust Async
tokio-1.0.0 уже янкнули, спасибо @gitkpp за информацию )

https://github.com/tokio-rs/tokio/releases/tag/tokio-1.0.1
источник