Используйте ключевое слово synchronized для метода.
java
Также можно использовать synchronized блок с монитором объекта.
java
Другие механизмы для более сложной синхронизации:
ReentrantLock: Более гибкая альтернатива synchronized с возможностью получения информации о блокировке и управлением таймаутами.Semaphore: Ограничивает количество потоков, которые могут одновременно получить доступ к ресурсу.Atomic классы (например, AtomicInteger): Предоставляют атомарные операции над примитивными типами без явной блокировки.Пример с AtomicInteger:
java