Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: synchronization, lock, thread

Какими способами можно синхронизировать доступ на чтение и запись к переменной?

Вопрос проверяет знание методов синхронизации доступа к общим ресурсам.

Короткий ответ

  1. NSLock / os_unfair_lock.

  2. Serial очередь.

  3. DispatchSemaphore.

  4. Атомарные операции (@Atomic).

Длинный ответ

1. NSLock:

let lock = NSLock()
lock.lock()
// Критическая секция
lock.unlock()

2. Serial очередь:

let queue = DispatchQueue(label: "com.example.serial")
queue.sync { /* Безопасный доступ */ }

3. DispatchSemaphore:

let semaphore = DispatchSemaphore(value: 1)
semaphore.wait()
// Критическая секция
semaphore.signal()

Вывод:
Выбор метода зависит от контекста. Serial очереди — самый безопасный вариант.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • IOS

    IOS

Ключевые слова

#synchronization

#lock

#thread

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.