Channels. Передача данных между потоками. Язык Rust

Ғылым және технология

rust.dev/
github.com/rustninja
web3.online
В данном ролике я рассматриваю каналы / channels в языке программирования rust. Использую каналы для передачи сообщений между потоками. Создаю много отправителей и читаю данные в главном потоке.
Цикл "Многопоточность"
№1: • Multithreading. Cuncur...
№2: - данное видео
№3: • Mutex. Lock. Ark. Разд...
Таймкоды:
00:00 Начало
00:25 Вводная часть о каналах
01:05 Sender and Reciever
01:25 Mpsc - multiple producer, single consumer
03:10 Создание фонового потока, который будет отправлять через канал сообщения
03:40 Send method
04:01 Добавляем принимающую часть. Reciever or consumer
04:10 Recv vs try_resv
05:40 Спасибо концепции владения и заимствования, спасает нас от ошибок многопоточности
08:17 Отправка множества сообщений через канал
09:58 Создание множества отправителей (senders)
12:14 Итоги
Чат для общения в Telegram: t.me/web3online
#rust #rustlang #coding

Пікірлер: 5

  • @web3online
    @web3online2 жыл бұрын

    Друзья, если это видео было вам полезно, вам нравятся мои ролики и вы хотите сказать мне спасибо, достаточно просто поставить лайк и написать комментарий - я буду очень рад👏!

  • @T0unFl3it
    @T0unFl3it Жыл бұрын

    Спасибо, перед просмотром лайк!🙂👍 Клёвая и удобная эта штука mpsc оказывается, вместе с владением получается отличное сочетание возможностей и потокобезопасности🙂

  • @Keriokutori
    @Keriokutori2 жыл бұрын

    👋👍

  • @darhaniztleu4956
    @darhaniztleu49562 жыл бұрын

    Спасибо!

  • @brain_hacker
    @brain_hacker2 жыл бұрын

    Привет Никита. Ткни носом куда копать для реализации задачи. Создать огромный массив данных в ОЗУ (шара для все потоков? так можно в RUST?) (нейросеть), по команде (значению переменной/флага) фоновые потоки (ядра\потоки процессора) начинают работу с общим масивом (запись\чтение). Основной поток ждет изменение состояние переменной\флага о том что все потоки справились -> что-то-там делаем -> Опять устанавливаем флаг старта обаботки -> многопотоковая работа -> флаг завершения всех потоков =1 -> опять что-то деламем в основном потоке -> флаг старта многопотока ... и дальше по кругу

Келесі