в асинк чтобы не допустить гонки ?
а какой гонки? в каких ситуациях?
я бы var app сделал unowned, плюс шаред инстанс это так себе, лучше его в вапорную ебобу контейнерную для зависимостей запихнуть
Акторы ж реентрант в свифте, все равно проблема с балансом будет если несколько раз вызвать?
А, тут вообще стейта нет
Там вроде на обоих есть авайт, и поэтому он даже с реентранси будет ждать пока первый завершится и не сможет выполнить другой
На сколько я помню, акторы засуспендится на await внутри функции и начнут выполнять следующую операцию из очереди.
А в следующей операции опять засуспендится и начнет выполнять следующую, где опять засуспендится. Там вроде своя последовательность у тех что выполняются тоже есть
Типа того. Есть четкая очередность, но если есть await внутри функции то все становится немного сложнее
Я не это имел ввиду. Если тут поставит суспенсион поинт, то перейдет дальше, где опять суспенсион поинт. И поэтому первое все же выполнится раньше за второе
А что если второй await выполнится раньше первого?
Актор не даст им выполняться одновременно.
Как то недтерминировано. Запустить функцию одновременно можно, а continuation сработает только для первого
Начнет выполняться потом. Хотя я точно не знаю
протестил в плэйгрунде. Кто первее вернется после await тот и первый продолжит выполнение в акторе
Обсуждают сегодня