home.social

#gcd — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #gcd, aggregated by home.social.

fetched live
  1. Как сломать Swift Concurrency

    Нужно выполнять асинхронные операции, поддерживать многозадачность в приложении? Async/await к вашим услугам - просто и приятно. Кооперативный пул эффективно переключает потоки между задачами, а компилятор проверяет типы на потокобезопасность. И даже можно подсоединять старые части кода, написанные ещё на GCD! Вот только приложение на проде почему-то начало виснуть…

    habr.com/ru/articles/1055810/

    #swift #concurrency #async #await #gcd #task #ios #deadlock #threads

  2. Realtime-чат без WebSocket: long-polling, гонки переподключения и дубли пушей

    Бывает, что realtime на проекте уже нужен, а WebSocket по каким-то причинам нет. Остаётся long-polling: клиент шлёт «бесконечный» HTTP-запрос, сервер держит его, пока не появятся новые сообщения, отвечает - и клиент тут же открывает следующий. Звучит просто, ровно до первого запуска на живом устройстве где-нибудь в метро. Дальше начинается то, ради чего и написана статья: гонки при переподключении, дубли локальных пушей и два независимых потока сообщений в одном ответе. Разбираю на примере реального iOS-сервиса, который я разрабатывал более 5 лет

    habr.com/ru/articles/1051340/

    #longpolling #Comet #realtime #WebSocket #race_condition #exponential_backoff #jitter #pushуведомления #GCD

  3. 📣 Hey #Guix, #GCD 007: Teams, Special Teams and Memberships

    Authored by @gnu_slash_gabber

    Please comment this Guix Consensus Document by reviewing on Codeberg
    codeberg.org/guix/guix-consens

    The Discussion period started on Sat, 28 Feb 2026.
    The Discussion period ends, at best, on:

    Monday, 30 March 2026*

    Do not wait the last minute for commenting! Please remember:

    1. Be clear and explicit about what you are suggesting
    2. Remain focused: do not change the scope
    3. Ensure progress
    4. Aim for finalization
    5. Review is a discussion

    The aim of the process is to get a document we all can live with.

    *Day: Décadi 10 Germinal an 234 de la Révolution, jour du Couvoir :-)

  4. Тайное знание: синхронизация, многопоточность, очереди

    Может ли быть так, что в большинстве популярных языков отсутствует самый эффективный механизм синхронизации? Что инженеры Microsoft, Oracle и мн. др., не говоря уже об остальных, вплоть до 2024 года так и не догадались, как же эффективнее всего синхронизировать доступ к данным? А все что знает абсолютное большинство программистов, в том числе топовых IT компаний (за исключением редких разработчиков платформ Apple) о синхронизации - ошибочно? Сегодня попробуем разобраться. Эта статья подразумевает, что вы уже имеете базовое представление о механизмах синхронизации. Код написан на C#, но конкретный язык особого значения не имеет.

    habr.com/ru/articles/803273/

    #многопоточность #синхронизация #очередь #c# #gcd #apple #ios #java #зеленые_потоки