Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.006 c
3-1193258614
Винни-Пух-Пух-Пух
2007-10-25 00:43
2008.03.16
Какие права и шары нужны для обращения к базе FB (+) ?


11-1184948750
ElectriC
2007-07-20 20:25
2008.03.16
Vista Aero


2-1203379580
fluxion
2008-02-19 03:06
2008.03.16
SQL запрос. Нужна помощь.


15-1202255039
guard_gg
2008-02-06 02:43
2008.03.16
Microsoft Yahoo


2-1203344851
ван
2008-02-18 17:27
2008.03.16
packed record





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский