Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Многопотоковые приложения и разгрузка процессора

4.8K
15 марта 2007 года
fakel15
54 / / 02.12.2005
Доброго времени суток!
Начинаю постигать премудрости многопотокового программирования. Продолжаю писать прогу: OPC сервер. При его запуске одновременно стартует поток, внутри него стоит бесконечный цикл
(типа for(;;){//мой код})
там где (//мой код) просходит опрос MODBUS устройств -> получение с них нанных -> обновление тегов OPC сервера.
ЭТО должно происходить постоянно!!! (т.е. опрос....обновление тегов)
НО при этом процессор загружается на все 100%!!!
Наверное есть стандартные алгоритмы работы....сейчас Рихтера осваиваю...:)))))
Заранее спасибо, если кто-то поможет...
505
16 марта 2007 года
vAC
343 / / 28.02.2006
Цитата: fakel15
Доброго времени суток!
Начинаю постигать премудрости многопотокового программирования. Продолжаю писать прогу: OPC сервер. При его запуске одновременно стартует поток, внутри него стоит бесконечный цикл
(типа for(;;){//мой код})
там где (//мой код) просходит опрос MODBUS устройств -> получение с них нанных -> обновление тегов OPC сервера.
ЭТО должно происходить постоянно!!! (т.е. опрос....обновление тегов)
НО при этом процессор загружается на все 100%!!!
Наверное есть стандартные алгоритмы работы....сейчас Рихтера осваиваю...:)))))
Заранее спасибо, если кто-то поможет...



Ну если бесконечный цикл без "отдыха", то конечно все ресурсы на поток и пойдут. А как ты прерываешь работу потока? TerminateThread? Чего настоятельно не рекомендую. Сделай так: создай объект-событие, по которому быдет происходить выход из потока, при этом поставь задержку на ожидание события, таким образом убьешь двух зайцев - и проц разгрузишь и выход из потока нормальный будет. Я таким образом писал библиотеку для контроллера, который динамическим фонтаном управляет.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог