sguruapp@gmail.com
facebook vk instagram Телеграм youtube

Что такое Sendable в Swift


Sendable — это протокол, который обозначает, что тип безопасен для передачи между потоками (thread-safe). Он был введен в Swift 5.5 вместе с новой конкурентной моделью (Concurrency) для предотвращения гонок данных при работе с async/await и actor.

Особенности Sendable

  • Автоматическое соответствие: Простые структуры и перечисления, содержащие только Sendable типы, автоматически соответствуют Sendable.
  • Ручное соответствие: Классы и структуры могут вручную подписываться под Sendable, но при этом важно убедиться, что они действительно безопасны для многопоточного использования.
  • Используется с @Sendable: Функции могут быть помечены как @Sendable, что означает, что они могут быть безопасно переданы между потоками.

Где используется Sendable

  • actor
  • async let
  • Task {} и Task.detached {}

Sendable помогает сделать многопоточное программирование в Swift более безопасным, предупреждая ошибки на этапе компиляции. Однако, в случаях с @unchecked Sendable, разработчику нужно быть осторожным и обеспечивать безопасность самостоятельно.

Индивидуальное обучение Swift — для тех, кто стремится к совершенству в коде:


Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего