Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Синхронизация доступа к массиву (http://www.flasher.ru/forum/showthread.php?t=202821)

climfree 13.08.2013 13:57

Синхронизация доступа к массиву
 
ДВС)
Подскажите, пожалуйста, есть ли в этом прекрасном языке возможность синхронизировать доступ к массиву.
Ситуация такая: на as написан клиент, который получает ответ от сервера и записывает его в массив. далее этот массив обрабатывается в программе, но параллельно с обработкой могут вновь приходить сообщения с сервера, которые записывают данные в этот же массив.
Подскажите как лучше сделать чтоб в определенный момент доступ к массиву был только у одного метода?

maincode 13.08.2013 14:19

Как вариант можно написать класс, в котором объявлен private массив, и внутри этого класса обрабатывать этот самый массив, тогда к массиву доступ будет только внутри этого класса.

Что бы дать более развернутый ответ - нужно больше информации, какую задачу решаете?

СлаваRa 13.08.2013 14:33

FP однопоточный, я не представляю как вы сможете обрабатывать массив в одном месте и изменять его в другом.

GBee 13.08.2013 14:59

Угу, как вариант - кидать события на каждое изменение массива

СлаваRa 13.08.2013 15:29

Цитата:

Вообще-то, некоторую многопоточность могут давать Workers.
Они не создадут такую ситуацию, о которой начал ТС. Приглядитесь к воркерам.

Sync 13.08.2013 16:58

я бы просто создал дубль массива, и работал с ним. Тогда все вновь пришедшие данные работали бы с исходником, а обрабатывалась бы одна достоверная копия.
Хотя немного контекста бы не помешало, ибо однопоточное выполнение может оказаться здесь большим плюсом

Zebestov 13.08.2013 17:29

Правильный ответ.


Часовой пояс GMT +4, время: 15:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.