Главная страница
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.019 c
2-1203094046
Zurn
2008-02-15 19:47
2008.03.16
Обработка интернет страниц


3-1193160878
Muto
2007-10-23 21:34
2008.03.16
Документооборот в конструкторском отделе. (Access+D7)???


15-1201798852
NiGGa
2008-01-31 20:00
2008.03.16
Компонент отображающий графики


4-1185204646
Nikfel
2007-07-23 19:30
2008.03.16
Как отловить нажатие кнопки мыши.


2-1203060480
SkyN
2008-02-15 10:28
2008.03.16
Глобальный $DEFINE для всех модулей