Ласкаво просимо до одночасних обчислень у Rust
Rust має повну підтримку паралелізму та одночасних обчислень за допомогою потоків ОС із м’ютексами та каналами.
Система типів у Rust відіграє важливу роль у тому, що дозволяє зробити багато помилок з одночасним виконанням помилками часу компіляції. Це часто називають безстрашним одночасним виконанням, оскільки ви можете покластися на компілятор для забезпечення коректності під час виконання.
Розклад
Враховуючи 10-хвилинні перерви, ця сесія має тривати близько 3 годин та 20 хвилин. Вона містить:
Сегмент | Тривалість |
---|---|
Потоки | 30 хвилин |
Канали | 20 хвилин |
Send та Sync | 15 хвилин |
Спільний стан | 30 хвилин |
Вправи | 1 година та 10 хвилин |
- Rust дозволяє нам отримати доступ до інструментарію одночасності виконнання ОС: потоків, примітивів синхронізації тощо.
- Система типів дає нам безпеку для одночасного виконання без будь-яких спеціальних функцій.
- Ті самі інструменти, які допомагають з "одночасним" доступом в одному потоці (наприклад, викликана функція, яка може змінювати аргумент або зберігати посилання на нього, щоб прочитати пізніше), позбавляють нас від проблем багатопотоковості.