![]() |
|
|
![]()
|
|
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
У меня есть несколько кнопок, их действия выполняются в отдельных асинхронных потоках;
Есть 1 массив который эти потоки запонляют По идее, логика такова: нажал на кнопку - заполнил массив. Нажал на другую кнопку - заплнил тот же массив но другими данными. В этой логике есть недочет: если очень быстро нажимать на кнопки, но массив будет заполняться из разных потоков. Попробовал решить эту задачу блокированием ресурса - массива используя директиву @synchronized в куске кода где идет заполнение массива В результате получил следующий результат: - если кнопки нажимать медленно, то все ок - если нажимать быстро, то программа вообще вылетает с ошибкой что размерность массива не та... Массив использую мьютебл и безазмерный |
|||
|
||||
| Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
Ну синхронизируйте действия флагами. Нажал на кнопку - если флаг выставлен, то выход, иначе выставить флаг и заполнить данными. По завершении заполнения массива - сбросить флаг
|
|||
|
||||
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
Интерсная идея, попробую...
|
|||
|
||||
| Maksys |
|
|||
|
Future Splasher ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 15.6.2005 Где: Екатеринбург Репутация: нет Всего: 17 |
Попробуйте реализацию синглтона через dispatch_once
|
|||
|
||||
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
Спасибо Максис, посмотрю как это сделать |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | iOS | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |