Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » TObjectQueue

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

B2D

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Работает несколько потоков. Существует несколько типов потоков (несколько потоков, которые делают одно и тоже). Обмен информацией происходит через очередь объектов TObjectQueue.
 
Одним из параметров объекта является время создания. В отдельном потоке происходит очистка объектов из очереди  через определенный интервал времени (тайм-аут).
 
Мне нужно вытащить объект из очереди, проверить - соответсвует ли дата моему условию, и, если соответсвует, то удалить объект, а если нет, то поместить назад ПЕРВЫМ в очередь.
 
 
Пример кода:
 
 if obOUT.dt<=dtOUT then
        begin
         EnterCriticalSection(CSectionDic);
            DicPack.remove(obOUT.key);
         LeaveCriticalSection(CSectionDic);
         FreeAndNil(obOUT);
 
//          EnterCriticalSection(CSectionDic);   здесь нужно добавить объект в начало
//            ListTimeOut.push(obOUT);
//          LeaveCriticalSection(CSectionDic);
          Break;
        end;

Всего записей: 35 | Зарегистр. 02-08-2006 | Отправлено: 15:37 29-10-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » TObjectQueue


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru