Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Построение очереди   Найти похожие ветки 

 
dm37   (2008-02-18 13:20) [0]

Подскажите можно ли доверится TStringList для формирования очереди (например, команд). Доступ к очереди не послеовательный,а произвольный. Или надо самому, каким либо образом контролировать целостность списка?


 
MBo ©   (2008-02-18 13:23) [1]

Что означает - довериться? В чем сомнения?


 
Palladin ©   (2008-02-18 13:23) [2]

а теперь подробно и в деталях


 
Сергей М. ©   (2008-02-18 13:26) [3]


> можно ли доверится TStringList для формирования очереди


Можно.


> Доступ к очереди не послеовательный,а произвольный


Это уже не очередь получится)


> контролировать целостность списка


А что ей, по-твоему, может угрожать ?


 
dm37   (2008-02-18 13:27) [4]

может получится так, что например, из двух прерываний таймера одновременно происходит обращение к одному StringList. Что тогда может быть (прерывания ведь не запрещены)? Смогут ли правльно обработаться обе записи (добавление, корректировка, удаление).


 
Palladin ©   (2008-02-18 13:27) [5]

сдается мне что "произвольный" эт значит из нескольких потоков (TThread)


 
dm37   (2008-02-18 13:28) [6]

да прав из нескольких потоков (TThread)


 
Palladin ©   (2008-02-18 13:30) [7]


> [4] dm37   (18.02.08 13:27)

каких таких прерываний? int 8 чели? сообщей может? расслабся, одним потоком может обрабатываться только одно сообщение...


 
Сергей М. ©   (2008-02-18 13:30) [8]


> dm37   (18.02.08 13:28) [6]


Без синхронизации довериться нельзя.
А встроенную синхронизацию стринглист не подразумевает и не реализует.


 
Palladin ©   (2008-02-18 13:30) [9]

уже интересней... дальше в гестапо играть будем? может еще чего недосказал?


 
dm37   (2008-02-18 13:38) [10]

может что-нибудь посоветуете, как это можно реализовать?


 
trubin ©   (2008-02-18 13:39) [11]


> может что-нибудь посоветуете, как это можно реализовать?


критические секции


 
Джо ©   (2008-02-18 13:40) [12]

> [10] dm37   (18.02.08 13:38)
> может что-нибудь посоветуете, как это можно реализовать?

Если не объяснишь задачу, то может постигнуть судьба сантехника Потапова из известного детского стишка :)


 
dm37   (2008-02-18 13:43) [13]

что именно не ясно?
а что такое "критические секции"?


 
trubin ©   (2008-02-18 13:43) [14]

Раз уж начал заниматься подобными вещами. Полезно будет почитать Рихтера.


 
Palladin ©   (2008-02-18 13:45) [15]


> [13] dm37   (18.02.08 13:43)

то есть уже все сказал... ну ладно...


> а что такое "критические секции"?

TCriticalSection

а использовать можно и TThreadList


 
MBo ©   (2008-02-18 13:45) [16]

Посмотри в classes.pas реализацию TThreadList


 
trubin ©   (2008-02-18 13:46) [17]


> а что такое "критические секции"?

http://www.google.com/search?hl=en&q=%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D0%BA%D1%80%D0%B8%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5+%D1%81%D0%B5%D0%BA%D1%86%D0%B8%D0%B8&btnG=Google+Search


 
dm37   (2008-02-18 13:50) [18]

сейчас очередь реализована в виде таблицы на SQL Server.
хочется освободить его от этого.


 
Palladin ©   (2008-02-18 13:51) [19]

и зачем дело встало... вперед... несовсем правда понятно почему именно TStringList для формирования оченреди "например комманд"...


 
dm37   (2008-02-18 13:59) [20]

возможно это будет массив и записи, надеялся что TStringList сам сможет правильно обработать записи.
На C для микроконтроллеров проще: запретил прерывания - выполнил код - восстановил прерывания. А в Windows пока с эти не сталкивался.


 
Сергей М. ©   (2008-02-18 14:02) [21]


> На C для микроконтроллеров проще: запретил прерывания -
> выполнил код - восстановил прерывания. А в Windows пока
> с эти не сталкивался


Прерывания-то тут причем ?


 
Palladin ©   (2008-02-18 14:07) [22]


> [20] dm37   (18.02.08 13:59)

а тут то чем сложнее? заблокировал ресурс, отработал с ним, разблокировал ресурс...


 
dm37   (2008-02-18 14:54) [23]

Всем спасибо, остановился на критических секциях



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.022 c
11-1185503288
sunwise
2007-07-27 06:28
2008.03.16
Гуру подскажите плиз, а как средствами KOL удалить папку?


15-1202338798
Petr V. Abramov
2008-02-07 01:59
2008.03.16
Как нормально перейти с mail.ru на google?


15-1202380777
kyn66
2008-02-07 13:39
2008.03.16
Пропало окно отладки Watches


8-1177253281
Elliner
2007-04-22 18:48
2008.03.16
Передача потокового видео с канвы формы


6-1182328697
RaPToRidze
2007-06-20 12:38
2008.03.16
получения ресурсов удаленного компа