Ласкаво просимо до одночасних обчислень у Rust
Rust має повну підтримку паралелізму та одночасних обчислень за допомогою потоків ОС із м’ютексами та каналами.
Система типів у Rust відіграє важливу роль у тому, що дозволяє зробити багато помилок з одночасним виконанням помилками часу компіляції. Це часто називають безстрашним одночасним виконанням, оскільки ви можете покластися на компілятор для забезпечення коректності під час виконання.
Розклад
Including 10 minute breaks, this session should take about 3 hours and 20 minutes. It contains:
Segment | Duration |
---|---|
Потоки | 30 minutes |
Канали | 20 minutes |
Send та Sync | 15 minutes |
Спільний стан | 30 minutes |
Вправи | 1 hour and 10 minutes |
- Rust дозволяє нам отримати доступ до інструментарію одночасності виконнання ОС: потоків, примітивів синхронізації тощо.
- Система типів дає нам безпеку для одночасного виконання без будь-яких спеціальних функцій.
- Ті самі інструменти, які допомагають з "одночасним" доступом в одному потоці (наприклад, викликана функція, яка може змінювати аргумент або зберігати посилання на нього, щоб прочитати пізніше), позбавляють нас від проблем багатопотоковості.