Size: a a a

Rust — русскоговорящее сообществo

2020 August 23

Э

Эрик in Rust — русскоговорящее сообществo
(Надеюсь)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну и std::thread::sleep вроде бы держит поток занятым, не?
источник

b

in Rust — русскоговорящее сообществo
а использовать ureq например, вместо reqwest в паре с tokio будет не разумно?
источник

Э

Эрик in Rust — русскоговорящее сообществo
а использовать ureq например, вместо reqwest в паре с tokio будет не разумно?
ureq блочащийся вроде бы.
источник

VB

Vlad Beskrovnyy in Rust — русскоговорящее сообществo
Эрик
Ну и std::thread::sleep вроде бы держит поток занятым, не?
Что ты понимаешь под "занятым"?
источник

b

in Rust — русскоговорящее сообществo
блочащий, но если запускать его из под
tokio::spawn(async move || {
он разве не станет не-блочащим?
источник

b

in Rust — русскоговорящее сообществo
то, что он будет блочить отдельную таску это не столь важно, там у меня в коде потока не нужна асинхронность, разве, что апдейт в базу произвести можно асинхронно
источник

Э

Эрик in Rust — русскоговорящее сообществo
блочащий, но если запускать его из под
tokio::spawn(async move || {
он разве не станет не-блочащим?
Там всё сложно. Скорее нет, чем да.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vlad Beskrovnyy
Что ты понимаешь под "занятым"?
Ну типа, заслипил 8 тредов на оси с 8 тредами, и никто работу не выполняет, пока не проснутся треды.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Как со спинлоками.
источник

VB

Vlad Beskrovnyy in Rust — русскоговорящее сообществo
Эрик
Ну типа, заслипил 8 тредов на оси с 8 тредами, и никто работу не выполняет, пока не проснутся треды.
Нет, это не так работает. Ты можешь с невероятной легкостью это проверить.

А можно узнать, откуда у тебя в голове взялась подобная мысль?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vlad Beskrovnyy
Нет, это не так работает. Ты можешь с невероятной легкостью это проверить.

А можно узнать, откуда у тебя в голове взялась подобная мысль?
Где-то в этом чате обсуждалось, вроде бы, что слип держит треды занятыми. Но было давно и неправда.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну или вот из-за этого.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Правда там до появления асинка что-то другое написано было.
источник

VB

Vlad Beskrovnyy in Rust — русскоговорящее сообществo
Эрик
Ну или вот из-за этого.
Это значит, что функция блокирует тред (как и любая синхронная IO операция), и ее не стоит использовать в асинковом коде, ибо это заблокирует весь экзекутор
источник

A

Adv0cat in Rust — русскоговорящее сообществo
А зачем больше потоков чем ядер в ос?)
источник

AD

Andrew Demonov in Rust — русскоговорящее сообществo
В ос нет ядер, ядра в cpu
источник

VB

Vlad Beskrovnyy in Rust — русскоговорящее сообществo
Adv0cat
А зачем больше потоков чем ядер в ос?)
см канкаренси vs параллелизм
источник

A

Adv0cat in Rust — русскоговорящее сообществo
окай)
источник

AD

Andrew Demonov in Rust — русскоговорящее сообществo
А потоков надо больше потому что не все работают 100% времени. Гц поток например работает 1-3%, а большую часть времени просто ждёт заблокированный мьютексом, не получая слайсов времени от ос
источник