Практика на потоки и каналы в Rust
В этих задачах соберем полные примеры
в одном main.rs: фоновые линии,
пара концов очереди и разделяемый счет.
Ответы разбирайте через match.
Дано число:
let num = 6;
Запустите фоновую линию, которая возвращает этот литерал. Дождитесь ручку и выведите число.
Дано число:
let num = 11;
Создайте пару концов, положите число, примите его на другой стороне и выведите на экран.
Даны числа:
let num1 = 2;
let num2 = 4;
let num3 = 6;
Отправьте три числа подряд, затем в цикле примите до ошибки и напечатайте каждое успешное значение.
Дано число:
let num = 25;
Положите число, прочитайте его,
уничтожьте отправителя и проверьте,
что следующий прием завершится ошибкой.
Выведите "done" в этом случае.
Дано число:
let num = 0;
Оберните литерал во взаимное исключение, запустите две фоновые линии: каждая один раз увеличивает счет. После ожидания выведите итог.
Даны числа:
let num1 = 10;
let num2 = 20;
Сделайте копию отправителя, поднимите две линии, передайте из каждой свое число и примите оба на одном приемнике.
Дано число:
let num = 3;
Фоновая линия кладет квадрат литерала в очередь. Главная линия принимает значение и печатает его. Проверьте на этом числе.
Дано число:
let num = 1;
Под замком храните литерал. Одна линия увеличивает его на единицу, другая читает и печатает. Дождитесь обе ручки и выведите финальное значение из главной линии.