Практика на синхронизацию в Rust
Дано число:
let num = 0;
Оберните литерал во взаимное исключение, три раза подряд увеличьте значение на единицу в отдельных блоках и выведите итог.
Дано число:
let num = 12;
Под замком чтения и записи храните литерал. В одном блоке возьмите два доступа на чтение и выведите оба значения. Затем через доступ на запись замените число на сумму с единицей.
Дано число:
let num = 2;
Положите литерал под взаимное исключение и разделяемую оболочку. Запустите две фоновые линии: каждая один раз увеличивает счет. После ожидания выведите результат.
Дано число:
let num = 8;
Статическое ленивое значение должно отдавать этот литерал при первом чтении. Напечатайте его два раза подряд.
Дано число:
let num = 5;
Скажите, что напечатает программа, если под взаимным исключением лежит литерал, ожидание доступа вернуло ошибку, а в ветке успеха стоит вывод значения.
Дано число:
let num = 1;
Напишите короткую программу: одна фоновая линия читает защищенный счет через разделяемую оболочку, основная линия после ожидания выводит тот же литерал.