![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Господа, подскажите плиз [D6, Win2k, WinXP]
NorthMan © (2006-01-11 12:37:00)Необходимо сделать следующее. Есть TCPServer на INDY(9). В приложении есть thread, который периодически (раз в 10 сек) заполняет (обновляет) некий динамический массив, для простоты одномерный, целые числа. Массив глобальный. Необходимо, чтобы все клиенты могли этот массив читать. Как правильней развести процесс обновления массива и чтения из него данных клиентами, чтобы косяков не возникало? Каким образом выполнять синхронизацию?
NorthMan (2006-01-11 13:44:00) [1]Я, наверное, не точно выразился... Сам массив не передается. Клиенты после подключения шарятся по массиву, находят нужный элемент и отключаются. Вот мне и интересно, не будут ли они мешать друг другу и треду, который массив рефрешит?
Digitman (2006-01-11 13:35:00) [2]
> Я правильно понял?
Нет, не правильно.
Клиент у тебя. насколько я понимаю, отдельное приложение.
Отдельное приложение - это отдельная программа.
В каждой программе - свои массивы.
Массив, объявленный в программе сервера, не имеет ничего общего с массивом, объявленным в кпрограмме клиента.
NorthMan (2006-01-11 13:16:00) [3]т.е. если все клиенты хором начнут обращаться к массиву, то проблем быть не должно? Я правильно понял?
Digitman (2006-01-11 13:14:00) [4]
> Есть TCPServer на INDY(9). В приложении есть thread
речь идет о приложении, выполняющем ф-ции сервера , так ?
А при чем тогда клиенты ? Это ведь , надо понимать, совершенно иные приложения ! А раз иные, то каких "глобальных массивах" может идти речь, если глобальность идентификатора имеет смысл лишь в контексте одной и той же программы, но не кучи разных программ ?