Существуют ли замки в ржавчине? The manual кратко упоминает об этом, но я не могу найти реализацию в стандартной библиотеке. Если они существуют, как мы их используем?Как использовать замки в ржавчине?
1
A
ответ
3
Замки в ржавчине в основном используются для реализации предметов низкого уровня во время выполнения. Как сказал @ chris-morgan, вам вообще не нужны замки. Обычно правильным способом синхронизации между задачами является передача сообщений.
Если передача сообщений не соответствует вашим потребностям, КВДА могут работать: http://static.rust-lang.org/doc/master/extra/arc/index.html
2
Есть мьютексы (и переменные условий и т.д.) в extra::sync
, хотя следует использовать обертки выше уровня для общей памяти, Эрик Холк упоминает в extra::arc
, если общая память - это все, что вам нужно.
Смежные вопросы
- 1. Как использовать Многопоточность, замки, Программирование сокетов
- 2. Замки в SQLAlchemy
- 3. Как использовать времена жизни в py_class! в ржавчине?
- 4. Общие замки, эксклюзивные замки и данные коррупции
- 5. Как сохранить процесс в ржавчине
- 6. Единственный список в ржавчине
- 7. Как использовать #map Iterator с # кратным в ржавчине?
- 8. UDP API в ржавчине
- 9. Типичные псевдонимы в ржавчине
- 10. Блокировка Mutex vs Резьбовые замки. Что использовать?
- 11. Локальная функция в ржавчине
- 12. Оператор r # "" # в ржавчине
- 13. остановки резьбы и где использовать замки
- 14. Неудачные задачи в ржавчине
- 15. Строгое сглаживание в ржавчине?
- 16. Статическая структура в ржавчине
- 17. Примитивные типы в ржавчине перечислений
- 18. Цепные замки?
- 19. Вектор функций в ржавчине
- 20. Розетки в ржавчине
- 21. Сырые розетки в ржавчине
- 22. Замки в синхронизированных блоках
- 23. Рекурсивные замки
- 24. Замки в elasticsearch
- 25. Предварительные замки в C#?
- 26. Работа с UUID в ржавчине
- 27. В ржавчине, есть вектор Итератор?
- 28. String-keyed HashMap в ржавчине?
- 29. Как объявить типизированные битфлаги в ржавчине?
- 30. Замки VS барьеры памяти
Предполагаю, что вы имеете в виду [9.2.1 Связь между задачами] (http://static.rust-lang.org/doc/master/rust.html#communication-between-tasks)? Что ты пытаешься сделать? Как правило, вам не нужна * блокировка из-за изоляции задачи Rust и отсутствия гонки данных. –
Я не пытаюсь делать что-либо в частности. Я просто задавался вопросом, может ли std lib предоставить ему способ сделать это, и если да, то как это сделать. –