TGViewer
Dolgo.polo Dev | Денис Долгополов Dolgo.polo Dev | Денис Долгополов @dolgo_polo_dev · 2.18K subscribers
Post #70 1.97K
​​Thread Safe — когда пора начать об этом думать

Понятие Thread Safe имеет множество определений, но суть у них одна:

если переменную изменяют несколько потоков, то результат изменения должен быть предсказуемый

(если b = 1, и мы дважды вызываем b++, то ожидаем увидеть b = 3 — это и есть предсказуемость)


Что может пойти не так?

Во-первых, по умолчанию потоки работают с переменной не в общей памяти, а создают свою локальную копию. А после всех манипуляций с объектом внутри потока возвращают объект в общую память

То есть другие потоки смогут увидеть изменения в объекте только после завершения этапа работы первого потока


Во-вторых, один поток может взять переменную и начать изменять ее. Например, была строка var s = "Big", а на выходе должна получится строка s = s + "Hot"

Но пока первый поток не закончил изменение s, второй поток тоже считал s. И решил сделать из нее s = s + "Dog"

Получается, что мы хотели прибавить к "Big" строки "Hot" и "Dog", а получим на выходе не "BigHotDog", а "BigHot" или "BigDog" или "BigDogHot" — результат непредсказуем


Ответ на заголовок поста:

пора начинать разбираться в многопоточности, как только в проекте появляется два и более потоков, работающих с общими переменными

....

с чего стоит начать, если хочешь понять эту вашу многопоточность вдоль и поперек?
  • 👍 24
  • ❤ 4
More from @dolgo_polo_dev
  1. Jun 22, 2026Медиалента — то, что пользователь реально ощущает физически: скроллы, зумы, тапы. Любые ми…
  2. Jun 20, 2026👮‍♀️ Как VPN видит трафик всех приложений? технически VPN на андроид — это сервис внутри…
  3. Jun 13, 2026Дуров опять не старается 🍌🍌🍌 Пару месяцев назад команду телеграма ругали за то, что они…
  4. May 24, 2026🧬Может ли VPN ускорить интернет? Интуиция подсказывает — точно нет Добавляется лишний сер…
  5. May 22, 2026кто же знал, что основным выгодополучателем max 📲 окажется habr.com любая статья набирает…
  6. May 6, 2026вы снова не туда воюете сначала все пушили Compose типо верстать в 2 раза быстрее, можно с…
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 →