Олег Титов - Работа с COM и LPT в Win32.
Название: | Работа с COM и LPT в Win32. | |
Автор: | Олег Титов | |
Жанр: | Самиздат, сетевая литература, Литература ХX века (эпоха Социальных революций), Windows, Системное программирование, Windows API | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Работа с COM и LPT в Win32."
Аннотация к этой книге отсутствует.
Читаем онлайн "Работа с COM и LPT в Win32.". [Страница - 17]
Потоки создаются функцией CreateThread, и уничтожаются функциями ExitThread и TerminateThread. Принцип работы таков. Вы создаете поток. При этом управление получает Ваша функция потока. Она работает параллельно, как минимум, основному потоку Вашей программы. Функция открывает порт и выполняет все необходимые настройки. Затем она выполняет весь ввод/вывод, при чем совершенно не важно, используется синхронный или асинхронный режим. При засыпании потока (при синхронном режиме) остальные потоки Вашей программы продолжат выплняться. Когда завершится необходимый обмен информацией с устройством и данные будут готовы для передачи основной программе Ваш поток установит некий флаг, котрый будет воспринят основной программой как готовность данных. После их обработки и формирования блока выходной информации основной поток установит другой флаг, который будет воспринят потоком ввода-вывода как готовность данных для передачи. При этом в качестве флагов можно использовать как объекты event, так и обычные переменные (ведь все потоки задачи выполняются в едином адресном прогстранстве). В случае использования обычных глобальных переменных не забудте в их определения добавить модификатор volatile. Он обозначает, что переменная может измениться асинхронно и компилятор не должен строить иллюзий насчет возможности ее оптимизации. В противном случае у Вас ничего не получится. Так как в потоке ввода/вывода, выполняющемся параллельно основному потоку программы, можно использовать асинхронный ввод/вывод, то достаточно просто реализуется возможность обработки большого количества портов. Фактически поток ввода/вывода будет работь еще и параллельно самому себе. При запуске такой задачи на многопроцессорной машине выгода от использования многопоточности будет очевидна, поскольку потоки будут выполняться на разных процессорах.
На этом, пожалуй, следует остановиться. Асинхронные режимы и многозадачность темы отдельных больших статей. Эти статьи будут написаны и выложены на сервер. Информации этой статьи достаточно, что бы Вы смогли уверенно начать работать с портами. Безусловно, не обойтись без чтения подробных описаний на упомянутые здесь функции и структуры. Без детальнейшей проработки, иногда очень изощренных, алгоритмов. Я постарался дать общую картину проблемы и путей ее решения. Насколько это удалось, судить Вам.
--">Книги схожие с «Работа с COM и LPT в Win32.» по жанру, серии, автору или названию:
Василий Мигулин - Зависимость (СИ) Жанр: Короткие любовные романы Год издания: 2017 |
Другие книги автора «Олег Титов»:
Олег Титов, Александр Геннадьевич Бачило, Тим Скоренко и др. - Яблони на Марсе (сборник) Жанр: Научная Фантастика Год издания: 2012 Серия: Научная фантастика |
Антон Иванович Первушин, Александр Александрович Богданов, Николай Караев и др. - Русская фантастика – 2019. Том 1 Жанр: Научная Фантастика Год издания: 2019 Серия: Русская фантастика |
Сергей Королев, Мария Гинзбург, Олег Титов и др. - Мю Цефея. Цена эксперимента Жанр: Приключения Год издания: 2019 Серия: Мю Цефея. Альманах фантастики |