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; |