Отметка класса или функции как отправляемая гарантирует безопасность пересечения одновременных границ, безопасность типов значений, поскольку они реализуют копирование при записи и т. д. Все это мы находим в документации по языку Swift. Но я хочу сказать, что Sendable не гарантирует, что переменная не будет содержать гонок данных. У нас могут быть гонки данных даже в базовых типах значений, таких как Int, как показано в коде ниже. Таким образом, Sendable не означает безопасность данных от одновременного доступа/изменения, это лишь означает, что значение можно безопасно копировать в разные потоки. Но мой вопрос: какую проблему это решает или в чем тогда важность наличия конструкции Sendable? Может кто-нибудь объяснить это?
var num = 0
DispatchQueue.global(qos: .background).async {
for _ in 0..
Подробнее здесь: https://stackoverflow.com/questions/793 ... l-in-swift
В чем смысл протокола Sendable в Swift ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Исправление предупреждений о несоответствии «Sendable» для ImageResource в Swift 5.10.
Anonymous » » в форуме IOS - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
SwiftUI: реализация Redo с помощью UndoManager без предупреждений о закрытии Sendable
Anonymous » » в форуме IOS - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
@Sendable () async -> void 'to parameter Ожидая типа синхронной функции [закрыто]
Anonymous » » в форуме IOS - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-