для получения и записи.
Где-то в коде запускаю Task, который будет 2 часа постоянно записывать.
Как получить значение прям здесь и сейчас? Потому что по идее, пока будет запись, получить ничего не получится
Тут надо смотреть предметно, по конкретному коду. У меня какое-то дежавю, будто мы это уже обсуждали. Может, ты делаешь что-то не то, например.
getSegments при открытом segments избыточно ИМХО )
Я же написал, что это для примера. Там дальше этот массив в другой формат конвертирую
начнем с того, что этот таймер сделан неправильно. Task {} это неблокирующая (и не асинковая) штука, то есть таймер будет создавать новый таск вне зависимости от того, выполнился ли предыдущий. таким образом ты рискуешь получить стотысяч мильонов тасок в очереди на этот addSegment. альтернативный вариант — запустить Task {}, который внутри себя после выполнения проверит, прошло ли уже нужное количество времени, и перезапустит САМ СЕБЯ. ну это так, комментарий сбоку.
Сорри за плохой пример. В общем, там в массив добавляются таски со скачиванием сегментов. После выполнения добавляются в общий масив. Актор тут нужен для избежания race condition. Можно конечно, сделать synced с objc, но думаю акторы тут лучше
Я тут сорямба, плохо понимаю контекст (голова работой занята сильно, не могу полностью переключиться). Тут задача сложная, её нужно решать системно и вдумчиво. Поэтому сделай сперва как-нибудь, потом разберешься (и нам расскажи).
Попробую тогда как хочу, а вдруг заработает)
Обсуждают сегодня