TGViewer
iOS Dev iOS Dev @iosdev · 7.91K subscribers
Post #553 2.65K
Что такое Thread Sanitizer и при чём тут гонки данных в Swift?

Thread Sanitizer, также известный как TSan — это инструмент на базе LLVM для изучения проблем с потоками в вашем коде, написанном на языках Swift и C. Он был впервые представлен в Xcode 8 и может стать отличным инструментом для поиска менее заметных ошибок в коде, например, гонок данных.

📖 Автор этой статьи делится, как Thread Sanitizer помог решить проблемы с нестабильными тестами и странными сбоями, в которых не получалось точно определить причину.

Возможно, вы не использовали TSan раньше, поскольку может быть немного непонятно, что делает этот инструмент и как он работает.

В материале затрагиваются важные темы:

⚪ Что такое гонки данных (data races).

⚪ Примеры гонки данных в Swift.

⚪ Использование Thread Sanitizer для обнаружения гонок данных.

⚪ Ограничения для Thread Sanitizer.

⚪ Подходы к решению гонки данных. Также стоит обратить внимание на эту статью и этот пост.

@iOS Dev
  • 👍 17
  • 🔥 6
  • 👏 1
More from @iosdev
  1. Oct 5, 2026iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple 📖 В своём блоге Антон с…
  2. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  3. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  4. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  5. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
  6. Sep 24, 2026Настоящая причина, почему на презентации не показали, как выглядит звонок с iPhone Duo. 😃…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →