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

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

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

11
задан genpfault 4 July 2010 в 20:53
поделиться

1 ответ

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

Само ключевое слово гарантирует, что ваши методы будут доступны по одному потоку за раз, что делает их потокобезопасными. Если ваше приложение должно было совместно использовать ресурсы без использования синхронизированных операторов, вы рискуете возникновения тупиковой ситуации .

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

26
ответ дан 3 December 2019 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: