Использование потоков в решении в c# для ввода-вывода - PullRequest
0 голосов
/ 19 марта 2020

Я сейчас занят написанием кода c# для взаимодействия с Arduino. Код периодически дискретизирует звук и передает данные для физического представления уровней звука. Я создал интерфейс WPF для этой программы, но я в значительной степени зашел в тупик с последними шагами. В моем интерфейсе я хотел бы иметь возможность изменять параметры для того, что передается, а также отображать обратную связь, считанную с COM-порта.

Я не очень понимаю, как правильно создавать потоки в c# - Я могу представить, как вы создадите отдельный процесс для управления вводом-выводом здесь, поскольку COM-порт может управляться только простым процессом. Как мне одновременно запустить al oop, чтобы сэмплировать мой звук и отправить его и еще один l oop для чтения последовательного порта, все еще оставаясь отделенным от процесса WPF, чтобы пользовательский интерфейс не зависал.

Любые советы о правильной практике создания этих тем безопасны и эффективны!

Спасибо

1 Ответ

0 голосов
/ 19 марта 2020

Самая простая модель - это использование нескольких отдельных потоков . Каждый поток выполняется в бесконечном l oop, который определен в методе, называемом TreadPro c, и поэтому каждый поток похож на отдельную программу, но работает в одном и том же процессе и может напрямую взаимодействовать с пользовательским интерфейсом.

Эти фоновые потоки могут взаимодействовать с интерфейсом WPF через диспетчеры элементов интерфейса. См. Модель с резьбой - WPF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...