Гонки данных в iOS: определение, причины возникновения и способы решения на практических примерах
В канале и закрытой базе данных я регулярно делюсь не только кейсами, которые могут возникать в разработке и их решениями.
Одна из самых популярных проблем — гонки данных, которые встречаются даже в популярных продуктах.
Они возникают, когда встречается несколько обращений к одной и той же области памяти, при условии, что по крайней мере один из этих доступов — запись.
Без правильной синхронизации это может привести к непредсказуемому поведению, сбоям приложения или невалидности данных.
В iOS IQ я добавил несколько типичных примеров, когда можно столкнуться с таким поведением и привёл варианты решения (не только для DispatchQueue, но и для Swift Concurrency с акторами).
А ещё можно увидеть полезную (и понятную) реализацию для работы с кэшем.
✅ Новый раздел в разборе полётов уже можно найти 💰 в бусти и ⭐️ прямо здесь.
📖 Кстати, в канале можно почитать и про Thread Sanitizer, и про то, для чего ещё нужны акторы.
😃 iOS Dev
Post #1548
4.39K

- 👍 7
- 🔥 5
- ☃ 2
- ✍ 1
- 🎉 1
- 💯 1
- 🤝 1
- 🤗 1