Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Синхронизация.  (Прочитано 5073 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Anonymous
Гость
« : 04-12-2003 06:14 » 

От PCI устройства приходят данные, которые надо принять и передать в пользовательский процесс.
Пока синхронизацию сделал на event'ах. Проблема в том, что события приходят с частотой 8 мс. Сделал очередь, что бы не терять данные, но хотелось бы именно синхронности.
Кроме того, карта после передачи пакета возбуждает прерывание (отправка успешна) и и только после этого можно продолжать передачу. Скорость передачи тоже 8 мс.
Как бы все это дело нормально синхронизировать?
Записан
maaaaaad
Гость
« Ответ #1 : 04-12-2003 11:11 » 

Что делает юзер поток с очередью пакетов? Что происходит в нем, когда выставляете событие в irsfordpc?

Цитата

что бы не терять данные, но хотелось бы именно синхронности.

Повышате приоритет рабочего user-потока. Оптимизируйте работу с очередью.
Записан
Anonymous
Гость
« Ответ #2 : 04-12-2003 11:45 » new

Цитата: CrashMaker
Что делает юзер поток с очередью пакетов? Что происходит в нем, когда выставляете событие в irsfordpc?


юзер поток ожидает waitforsingleobject, после чего читает readfile'ом, пока не очередь не опустеет, если был пропуск эвента.

Цитата: CrashMaker

Повышате приоритет рабочего user-потока. Оптимизируйте работу с очередью.


Я так понимаю, что это не поможет (и не помогает), поскольку переключение задач у винды около 15-20 мс. А у меня 8. Жаль
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines