Size: a a a

2020 June 08

А

Андрей in Rust Async
Народ, а почему тут используют обычный мьютекс?
async_std::sync::Mutex тут нельзя использовать?
источник

K

Kerrigan in Rust Async
лишняя зависимость, не?
источник

А

Андрей in Rust Async
Kerrigan
лишняя зависимость, не?
А асинхронный мьютекс точно не дает профита в использовании? В асинхронщине ведь можно не лочить весь поток, а почти бесплатно лочить корутину
источник

А

Андрей in Rust Async
И еще вопрос, работает ли async_std::sync::Mutex как tokio::sync::Mutex, который, как говорит дока, «This type acts similarly to an asynchronous std::sync::Mutex, with one major difference: lock does not block»
источник

AV

A V in Rust Async
нахуй нужен асинхронный мутекс если не надо держать сквозь await?
источник

C

Cat in Rust Async
Андрей
И еще вопрос, работает ли async_std::sync::Mutex как tokio::sync::Mutex, который, как говорит дока, «This type acts similarly to an asynchronous std::sync::Mutex, with one major difference: lock does not block»
две разных имплементации; они чем-то похожи, чем-то отличаются
источник

C

Cat in Rust Async
"asynchronous std::sync::Mutex" != "async_std::sync::Mutex"
источник

C

Cat in Rust Async
Андрей
Народ, а почему тут используют обычный мьютекс?
async_std::sync::Mutex тут нельзя использовать?
1. потому что в актиксе акторы
2. почему именно async_std mutex?
источник
2020 June 09

А

Андрей in Rust Async
Cat
1. потому что в актиксе акторы
2. почему именно async_std mutex?
Суть в том, что мне хочется использовать фичи асинхронности, и дёшево лочить корутину вместо дорогого лока потока
источник

Ct

Casual tears in Rust Async
Андрей
Народ, а почему тут используют обычный мьютекс?
async_std::sync::Mutex тут нельзя использовать?
Вопрос скорее в том почему не атомик
источник

А

Андрей in Rust Async
Андрей
Суть в том, что мне хочется использовать фичи асинхронности, и дёшево лочить корутину вместо дорогого лока потока
И я в принципе не понимаю, что это за такая асинхронщина в актиксе такая, что требует лока всего потока для синхронизации. Я так же мог бы использовать обычный многопоточный сервер
источник

A

Adv0cat in Rust Async
Андрей
И я в принципе не понимаю, что это за такая асинхронщина в актиксе такая, что требует лока всего потока для синхронизации. Я так же мог бы использовать обычный многопоточный сервер
Тесты скорости говорят что вы конечно взятт можете, но быстрее актикса нужно постараться что-то сделать, ну и актикс писался когда асинхронности еще не было в Rust))
источник

C

Cat in Rust Async
Adv0cat
Тесты скорости говорят что вы конечно взятт можете, но быстрее актикса нужно постараться что-то сделать, ну и актикс писался когда асинхронности еще не было в Rust))
а что за тесты скорости?
источник

A

Adv0cat in Rust Async
Cat
а что за тесты скорости?
источник

А

Андрей in Rust Async
Adv0cat
Тесты скорости говорят что вы конечно взятт можете, но быстрее актикса нужно постараться что-то сделать, ну и актикс писался когда асинхронности еще не было в Rust))
Нет, ну лок потока слишком дорогой, чтоб им так просто разбрасываться. Я переписал эту штуку под use tokio::sync::Mutex, и вроде норм работает
источник

C

Cat in Rust Async
там точно с мьютексами?
источник

А

Андрей in Rust Async
Кстати, а в расте какая-то другая асинхронность что-ли? В других языках обычно вообще запрещено делать блокирующие операции вне специального экзекутора
источник

C

Cat in Rust Async
если очень глобально размышлять, то есть разные подходы к асинхронности
источник

А

Андрей in Rust Async
Но ведь все подходы крутятся вокруг гринтредов, и их дешевый лок как раз и обеспечивает профит асинхронности
источник

C

Cat in Rust Async
разве акторы вокруг гринтредов?
источник