Actors — это ссылочные типы, разработанные для защиты изменяемого состояния от data races путём сериализации всех обращений к их внутренним свойствам и методам.
Actors гарантируют, что только одна задача может получить доступ к их состоянию одновременно. Любая попытка обратиться к состоянию actor'а извне рассматривается как асинхронная операция, что означает, что вызывающей стороне нужно приостановиться и дождаться своей очереди.
actor Counter {
var value = 0
func increment() { value += 1 }
}
Когда ты вызываешь метод actor'а или читаешь его свойство из внешнего контекста, ты должен использовать await:
let counter = Counter()
await counter.increment()
Это сигнализирует, что вызов может приостановиться до тех пор, пока actor не будет свободен, предотвращая одновременный доступ.
Actors в Swift сериализуют доступ к изменяемому состоянию, гарантируя, что одновременно только одна задача может получать доступ к внутренним свойствам актора, требуя от вызывающих использовать await для внешнего доступа.
Новый — ещё не проверен сообществом
Вы