Форум: "Начинающим";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизПостроение очереди Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c