Когда я синхронизирую методы или использую синхронизированные блоки в своих методах в игре на Android?

Я занимаюсь написанием простого графического кода в Android, и я заметил некоторые синхронизированные() блоки.

Каковы причины этого и как я узнаю, когда я должен "синхронизировать" мой код?

Ответ 1

synchronized блоки операторов обычно используются в параллельном программировании (многопоточные приложения), где в вашем приложении используются многие потоки. В качестве примера для Android-игры у вас может быть один поток с клиентской обработкой, другой для сервера, один для запуска других процессов и т.д.

Ключевое слово само по себе гарантирует, что ваши методы будут доступны по одному потоку за раз, что делает их потокобезопасными. Если ваше приложение должно делиться ресурсами без использования операторов synchronized, вы рискуете deadlock. p >

Тупик приведет к зависанию, т.е. процесс зависает. Тупик следует избегать любой ценой, особенно имея дело с размером процессора мобильного телефона.