Forwarded from Димкина Визитка
Многопоточность в Java: synchronized, volatile и Lock 🛡️ (Часть 2)
Привет, коллеги! 👋
Вторая часть про многопоточность. Сегодня разбираем механизмы синхронизации.
synchronized методы
synchronized блоки
volatile переменные
ReentrantLock
Сравнение подходов
synchronized:
- Простота использования
- Автоматическое управление
- Встроено в язык
ReentrantLock:
- Гибкость (tryLock, fair lock)
- Явное управление
- Требует аккуратности
В третьей части разберем Concurrent коллекции, пулы потоков и современные подходы!
Какие механизмы синхронизации используете вы? 👇
#java #interview #multithreading #synchronized
Привет, коллеги! 👋
Вторая часть про многопоточность. Сегодня разбираем механизмы синхронизации.
synchronized методы
class SafeCounter {
private int count = 0;
public synchronized void increment() {
count++; // ✅ Теперь безопасно
}
public synchronized int getCount() {
return count;
}
}synchronized блоки
class Resource {
private final Object lock = new Object();
public void doWork() {
synchronized(lock) {
// критическая секция
}
}
}volatile переменные
class TaskProcessor {
private volatile boolean running = true;
public void stop() {
running = false; // ✅ Видимость между потоками
}
public void process() {
while (running) {
// работа
}
}
}ReentrantLock
class LockedCounter {
private final ReentrantLock lock = new ReentrantLock();
private int count = 0;
public void increment() {
lock.lock();
try {
count++;
} finally {
lock.unlock();
}
}
}Сравнение подходов
synchronized:
- Простота использования
- Автоматическое управление
- Встроено в язык
ReentrantLock:
- Гибкость (tryLock, fair lock)
- Явное управление
- Требует аккуратности
В третьей части разберем Concurrent коллекции, пулы потоков и современные подходы!
Какие механизмы синхронизации используете вы? 👇
#java #interview #multithreading #synchronized
❤1🔥1
#Собес #hashtable #synchronized #concurrenthashmap
🤔 Почему Hashtable считается устаревшим в Java?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Почему Hashtable считается устаревшим в Java?
💬 Кратко:
Hashtable — старый класс из Java 1.0, синхронизирует все методы на уровне объекта, что приводит к сильным блокировкам и снижению производительности при конкуррентном доступе. Современные альтернативы (ConcurrentHashMap, Collections.synchronizedMap) более гибкие и эффективные.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал