Size: a a a

2021 January 30

D

Denis in Rust Async
что такое singleton лайфтайм?
источник

p

polunin.ai in Rust Async
Denis
что такое singleton лайфтайм?
единственный экземпляр который живет всю программу
источник

D

Denis in Rust Async
polunin.ai
единственный экземпляр который живет всю программу
так это просто синглтон) давай всё-таки не миксовать термины, чат читают в т.ч. новички, которым выдуманные терминологии способы неплохо так прокомпостировать мозг
источник

p

polunin.ai in Rust Async
Denis
так это просто синглтон) давай всё-таки не миксовать термины, чат читают в т.ч. новички, которым выдуманные терминологии способы неплохо так прокомпостировать мозг
это терминология из c#, и ее Богдан понимает
источник

D

Denis in Rust Async
аа, вон оно чё
источник
2021 January 31

IB

Ivan Boldyrev in Rust Async
А бывает ли такая вещь, как асинхронные рантаймы, которые не создают тредов? В tokio новый тред создаётся даже если использовать Builder::new_current_thread.

Пригодится это для библиотек, которые используются из кода на других языках программирования, и не очень хочется, чтобы, например, при fork всё поломалось. Пока что приходится писать проект синхронно.
источник

D

Denis in Rust Async
какой тред создаёт Builder::new_current_thread?
источник

IB

Ivan Boldyrev in Rust Async
Denis
какой тред создаёт Builder::new_current_thread?
Не копал, но в отладчике его видно (мой тестовый пример на C, естественно, ничего не создаёт). Впрочем, возможно, это из-за Builder::enable_all().
источник

D

Denis in Rust Async
Ivan Boldyrev
Не копал, но в отладчике его видно (мой тестовый пример на C, естественно, ничего не создаёт). Впрочем, возможно, это из-за Builder::enable_all().
покопай, он не должен создавать никаких потоков
источник

D

Denis in Rust Async
#[tokio::main(flavor = "current_thread")] и поехали
источник

IB

Ivan Boldyrev in Rust Async
Как минимум треды для блокирующиих операций должен создавать.
источник

MB

Mikail Bagishov in Rust Async
Ну с блокирующими операциями и вариантов нет
источник

D

Denis in Rust Async
ну, не делай spawn_blocking
источник

IB

Ivan Boldyrev in Rust Async
Denis
ну, не делай spawn_blocking
Ок, его делает hyper в тестовом примере.  Для моих целей без такого, возможно, удастся обойтись.
#7  0x00007ffff7debd47 in tokio::runtime::blocking::pool::spawn_blocking ()
  from /home/ib/projects/junk/async_from_c/target/release/libexperiment.so
#8  0x00007ffff7de7d9c in <hyper::client::connect::dns::GaiResolver as tower_service::Service<hyper::client::connect::dns::Name>>::call ()
Спасибо, это обнадёживает!
источник

D

Denis in Rust Async
ну, от такого сложно защититься
источник

D

Denis in Rust Async
GaiResolver господи што это
источник

D

Denis in Rust Async
getaddrinfo, понятно
источник

IB

Ivan Boldyrev in Rust Async
Denis
GaiResolver господи што это
A resolver using blocking getaddrinfo calls in a threadpool.
источник

MB

Mikail Bagishov in Rust Async
Там кажется есть поддержка trust-dns
источник

D

Denis in Rust Async
...
источник