Чем actor reentrancy отличается от lock и когда что выбрать?

iOS / SwiftSeniorSwift ConcurrencyСравнениеios|swift|swift concurrency|actor|actor reentrancy

Что хотят услышать интервьюеры:

Сравнение: actor reentrancy нужно оценивать в контексте задачи, а не как универсально лучший вариант. В сравнении с lock смотрите на ownership, lifecycle, читаемость, поддержку разных iOS версий, тестируемость и риск ошибок.

Ответ:

Нюанс: после await actor может выполнить другую работу, что важно для инвариантов.

Как отвечать: назвать критерии выбора, привести реальный пример и честно обозначить ограничения.

actor Bank { func transfer() async { await api.call() } }

Источники

Похожие вопросы