Любопытный замер производительности различных видов локов: OSSpinLock, NSLock, pthread_mutex и других.
https://gist.github.com/steipete/36350a8a60693d440954b95ea6cbbafc
#swift #concurrency
https://gist.github.com/steipete/36350a8a60693d440954b95ea6cbbafc
#swift #concurrency
Gist
Updated for Xcode 8, Swift 3; added os_unfair_lock
Updated for Xcode 8, Swift 3; added os_unfair_lock - SpinlockTestTests.swift
А вы знали, чем грозит использование spin-локов в приложениях для iOS и macOS? Об их устройстве, предназначении, проблемах и возможных замещениях рассказывает Kevin Ballard.
http://engineering.postmates.com/Spinlocks-Considered-Harmful-On-iOS/
#concurrency
http://engineering.postmates.com/Spinlocks-Considered-Harmful-On-iOS/
#concurrency
Про модель акторов и основные принципы устройства такой системы буквально на пальцах. Стоит почитать, чтобы составить себе общее представление.
http://www.brianstorti.com/the-actor-model/
#concurrency #architecture
http://www.brianstorti.com/the-actor-model/
#concurrency #architecture
Brianstorti
The actor model in 10 minutes
Сборник ответов на 100 вопросов об организации многопоточности в Java. Вроде частично и не про нас, но все равно жутко интересно.
https://github.com/arteam/100-Java-Concurrency-questions
#concurrency
https://github.com/arteam/100-Java-Concurrency-questions
#concurrency
GitHub
GitHub - arteam/100-Java-Concurrency-questions: An attempt to answer to the concurrency questions from a famous Habr blog post…
An attempt to answer to the concurrency questions from a famous Habr blog post (in Russian) - arteam/100-Java-Concurrency-questions
Отличный разбор механики работы thread sanitizer'а с готовым примером, на котором его можно погонять.
http://blog.benjamin-encz.de/post/understanding-data-race-detection-by-implementing-in-swift/
#tools #swift #concurrency
http://blog.benjamin-encz.de/post/understanding-data-race-detection-by-implementing-in-swift/
#tools #swift #concurrency
Про паттерн SchedulableObject как удобную абстракцию для работы с многопоточным кодом. Ну и на сладкое, как вы любите, готовый фреймворк.
https://habrahabr.ru/company/mailru/blog/317440/
#patterns #concurrency
https://habrahabr.ru/company/mailru/blog/317440/
#patterns #concurrency
Хабр
Использование паттерна SchedulableObject для выделения бизнес-логики в отдельный поток
Интерфейс мобильного приложения — это лицо продукта. Чем более отзывчив интерфейс, тем больше радости приносит продукт. Однако удовлетворённость от использован...
Отличная статья для новичков про работу с GCD в Swift 3. Все базовые концепции и функции разбираются буквально на пальцах, так что можете смело сохранять себе или вбрасывать тем, кто задает много вопросов.
http://www.appcoda.com/grand-central-dispatch/
#swift #concurrency
http://www.appcoda.com/grand-central-dispatch/
#swift #concurrency
AppCoda
Grand Central Dispatch (GCD) and Dispatch Queues in Swift
One of the greatest improvements in the technology of Central Processing Units (CPUs) since their existence is the capability to contain multiple cores and therefore to run multiple threads, which means to serve more than one task at any given moment.
Serial…
Serial…
Сегодня неожиданно проводился iOS митап. Запись всех выступлений уже можно посмотреть. Из тем: прохождение собеседований, параллельное программирование и советы по тому, как стать ЖЕЛАННЫМ разработчиком. Ушел смотреть третье выступление.
https://youtube.com/watch?v=Trs17ioCZXY
#meetups #career #concurrency
https://youtube.com/watch?v=Trs17ioCZXY
#meetups #career #concurrency
Транскрипт выступления Ash Furrow про различные подходы к написанию асинхронного кода на Swift, в том числе и рассуждения про пока нереализуемые async/await и корутины.
https://ashfurrow.com/blog/comparative-asynchronous-programming/
#concurrency
https://ashfurrow.com/blog/comparative-asynchronous-programming/
#concurrency
Ash Furrow
Comparative Asynchronous Programming
So I'm in Australia to give my talk at Playgrounds Conference about asynchronous programming. While we wait for the video to be edited and uploaded, I thought I could take you through the talk in blog post form. So let's dive in! Today we're going to be…
Весьма неплохой материал про семафоры и работу с ними в Swift. Как я люблю - все рассказано на пальцах и очень легко усваивается.
https://medium.com/swiftly-swift/a-quick-look-at-semaphores-6b7b85233ddb#.eedr87lde
#swift #concurrency
https://medium.com/swiftly-swift/a-quick-look-at-semaphores-6b7b85233ddb#.eedr87lde
#swift #concurrency
Medium
A Quick Look at Semaphores in Swift 🚦
Introduction to the concept of Semaphores
Раз вчера начали разбираться с семафорами, то вот еще один материал по теме. Я рассказываю про задачи синхронизации потоков, их классические и прикладные решения. Лучший момент - демка в конце, однозначно.
http://www.youtube.com/watch?v=y0UQEioIgTQ
#concurrency
http://www.youtube.com/watch?v=y0UQEioIgTQ
#concurrency
YouTube
Rambler.iOS #4: Задачи синхронизации. Классические и прикладные решения
Rambler.iOS #4: Задачи синхронизации. Классические и прикладные решения (Толстой Егор).
Слайды - https://www.slideshare.net/Rambler-iOS/ramblerios-4.
GitHub - https://github.com/rambler-digital-solutions/synchronization-problems
Rambler.iOS - митапы iOS…
Слайды - https://www.slideshare.net/Rambler-iOS/ramblerios-4.
GitHub - https://github.com/rambler-digital-solutions/synchronization-problems
Rambler.iOS - митапы iOS…
И давайте закроем тему семафоров действительно отличной ссылкой. Если хотите раз и навсегда избавить себя от стыдных вопросов по базовым примитивам синхронизации, более сложным паттернам, да и вообще, порешать интересные задачи - эта книга для вас. Бесплатно, без SMS.
http://greenteapress.com/wp/semaphores/
#concurrency
http://greenteapress.com/wp/semaphores/
#concurrency
Подробный гайд про все (ну или почти) способы синхронизации потоков, доступные в Swift.
https://www.uraimo.com/2017/05/07/all-about-concurrency-in-swift-1-the-present/
#concurrency
https://www.uraimo.com/2017/05/07/all-about-concurrency-in-swift-1-the-present/
#concurrency
uraimo.com
All about Concurrency in Swift - Part 1: The Present
There are a few alternatives regarding how to handle concurrency from Swift, this article will discuss everything you have at your disposal right now, to prepare the ground to the next part of this series that will discuss what is likely to come next.
Латтнер написал лонгрид с предложением по реализации async/await в Swift. В комплекте размышления, зачем вообще вводить новую систему работы с многопоточностью, краткий обзор других вариантов и многое другое.
https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782
#swift #concurrency
https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782
#swift #concurrency
Gist
Swift Concurrency Manifesto
Swift Concurrency Manifesto. GitHub Gist: instantly share code, notes, and snippets.
Про особенности работы с GCD на сервере. Старожилы чатика помнят индуса, который заходил и про это спрашивал. Теперь вы знаете, какую ссылку ему пошарить.
http://khanlou.com/2017/09/dispatch-on-the-server/
#concurrency #swift #backend
http://khanlou.com/2017/09/dispatch-on-the-server/
#concurrency #swift #backend
Мощный лонгрид про то, как в Midori, экспериментальной ОС от Microsoft, реализовывали асинхронность и с какими проблемами сталкивались при использовании разных моделей.
http://joeduffyblog.com/2015/11/19/asynchronous-everything/
#concurrency
http://joeduffyblog.com/2015/11/19/asynchronous-everything/
#concurrency
Joeduffyblog
Joe Duffy - Asynchronous Everything
Joe Duffy's Blog | Adventures in the high-tech underbelly
Разбор того, как работают операции и в каких случаях в прикладной разработке их стоит использовать.
https://medium.com/flawless-app-stories/parallel-programming-with-swift-operations-54cbefaf3cb0
#concurrency
https://medium.com/flawless-app-stories/parallel-programming-with-swift-operations-54cbefaf3cb0
#concurrency
Medium
Parallel programming with Swift: Operations
Operations is another powerful concurrency tool in your iOS development toolbox. Let’s learn how to use it on simple examples…
Мы тут в Авито запустили курс про многопоточность в iOS. Заходите учиться жизни.
https://stepik.org/course/3278/
#concurrency
https://stepik.org/course/3278/
#concurrency
Stepik: online education
Многопоточность в iOS (Swift)
Познакомьтесь и изучите практически все способы многопоточного программирования под iOS (swift), в том числе малоизвестные.
Хорошая статья про модели реализации многопоточности в разных языках, и о том, почему коллбэки – зло.
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
#concurrency
https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
#concurrency
Подборка советов по тому, как использовать libdispatch более эффективно.
https://gist.github.com/tclementdev/6af616354912b0347cdf6db159c37057
#concurrency #sdk
https://gist.github.com/tclementdev/6af616354912b0347cdf6db159c37057
#concurrency #sdk
Gist
Making efficient use of the libdispatch (GCD)
Making efficient use of the libdispatch (GCD). GitHub Gist: instantly share code, notes, and snippets.