Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллельное выполнение в консольной программе, Выполнение 2 функций в одно время 
:(
    Опции темы
efpies
  Дата 24.8.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 20.6.2009
Где: СПб

Репутация: нет
Всего: нет



Собственно, сабж.
К примеру, мне нужно, чтоб на экран что-то постоянно выводилось (например, те же часы с мигающим двоеточием) и в то же время проводился опрос клавиатуры на нажатие какой-то кнопки.
Скажем, выводится через секунду 5, потом 4 и т.д., при нажатии на эникей в течение этих 5 с что-то выполнялось, а если не успел - что-то другое.
Но это простой пример.
Вот как-то так, коряво получилось, в духе "можно грабить корованы".
В общем, где нужно копать, какую литературу посоветуете? smile У Дейтелов не обнаружил
PM MAIL   Вверх
ller
Дата 24.8.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



В какой системе?
А так тебе события (сигналы) помогут, вешаешь обработчики событий.

цитата...
2.6 Таймеры

Теперь обратим наше внимание на таймеры ядра. Таймеры используются для передачи управления различным функциям (называющимся 'timer handler') в назначенное время. Основная структура данных - это struct timer_list объявленная в include/linux/timer.h:
Код


    struct timer_list {
            struct list_head list;
            unsigned long expires;
            unsigned long data;
            void (*function)(unsigned long);
            volatile int running;
    };


Поле list служит для связи с внутренним списком, защищенным блокировкой (spinlock) timerlist_lock. Поле expires содержит значение времени (jiffies), оставшееся до вызова указанной function с входным параметром data. Поле running используется на SMP-системах для предотвращения запуска одного и того же обработчика на нескольких процессорах.

Функции add_timer() и del_timer() добавляют и удаляют таймер в/из списка. По достижении заданного времени, таймер удаляется автоматически. Перед использованием таймер ДОЛЖЕН быть инициализирован вызовом функции init_timer(). А перед тем как добавить таймер в список должны быть установлены поля function и expires.

Это сообщение отредактировал(а) ller - 24.8.2009, 19:11
PM MAIL   Вверх
efpies
Дата 24.8.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 20.6.2009
Где: СПб

Репутация: нет
Всего: нет



Цитата(ller @  24.8.2009,  18:57 Найти цитируемый пост)
В какой системе?

WinNT 5.1 и 6.0
Цитата(ller @  24.8.2009,  18:57 Найти цитируемый пост)
А так тебе события (сигналы) помогут, вешаешь обработчики событий.

ок, будем копать
PM MAIL   Вверх
jonie
Дата 25.8.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118





--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0703 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.